lanbomo 发表于 2015-8-29 20:45:32

APICloud的函数为什么回调函数返回的数据为什么不正确?

请问一下用APICloud开发机智云的app,为什么有些函数执行之后回调方法返回的数据并不完整?而是要在alert下等待几秒,这个时候回调函数会再次执行并返回一个完整的数据。
如果不用alert的话就只会执行一次回调。这样就得不到完整的数据了。
请问一下要怎么解决?已经调试一整天了,尝试了各种办法都不行啊。


http://docs.apicloud.com/%E7%AB%AFAPI/%E5%BC%80%E6%94%BESDK/gizWifiSDK#a5
比如说这个setDeviceWifi这个函数,配置设备入网,配置成功后,返回的数据应该是应该是这样的
{    device:{                           "mac":"42f234fav"                     "did":"79sd8fj2k3jfa8d7f9"                   }}
但是却只返回了
{    device:{                           "mac":"42f234fav"                     "did":""                   }}
其中did就是空的,如果这个时候弹出alert框而不关闭,等待几秒钟后又会再次执行回调函数,然后才会得到完整的数据,did也才会有。
如果不是弹出alert框的话,那么回调函数就不会被再次执行,那么也就是说得不到did了,请求官方帮忙解决!
谢谢!

pomia 发表于 2015-8-30 22:53:02

设备配置成功后,有可能先返回mac,再返回did,这是正常的现象。因为设备要从云端得到did再上报到APP,这个时间取决于大循环网络环境,与APP界面实现无关,不会因为H5 APP不弹出alert框就不回调。

lanbomo 发表于 2015-8-31 10:29:11

pomia 发表于 2015-8-30 22:53
设备配置成功后,有可能先返回mac,再返回did,这是正常的现象。因为设备要从云端得到did再上报到APP,这个 ...

可是确实是这样的,先返回mac之后,就不会再回调返回did了,经过测试,只有alert框一直弹着不关闭才会第二次回调并且带有did。
你们可以自己试验一下。
APICloud的机智云模块。

pomia 发表于 2015-9-1 14:27:27

接口经过测试,不加alert框,也是可以执行回调函数的。

另外,设备配置确认时,只要有mac上报就代表已经完成这个过程了。设备did会在设备搜索的回调中返回。
页: [1]
查看完整版本: APICloud的函数为什么回调函数返回的数据为什么不正确?