关于H5与客户端联调时踩的坑

关于H5与客户端之间的联调,基本的通过JS Bridge交互就不提了,这里要提的是最近刚踩的一个坑。

最初的代码是这样:

关于H5与客户端联调时踩的坑

在最初和IOS联调时就没有问题,一切顺利,调用appClient里面的getDeviceInfo方法,顺利的把回调传给了IOS端,IOS也顺利的将我要的数据通过回调回传给了我,但是在与安卓联调时,我这边一直进不了安卓方法的断点,花了几个小时,最终将回调函数声明的位置换了一下就成功的完成了交互,如下:

关于H5与客户端联调时踩的坑

当初我以为,都是挂载在window下的方法,声明的先后应该不会影响,但是现实给了我沉重的一巴掌,如果方法声明在调用的后面,IOS端还是可以正常运行的,但是在安卓端就无法正常的获取到要传递给安卓端的回调方法,所以以后为了避免类似的问题,凡是与客户端联调,如果有回调,都将回调方法的声明放在调用的前面,以免再次踩到类似的坑。

可能描述的比较简单,有什么不准确的地方敬请指出。