收藏官网首页
查看: 2169|回复: 3

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

4

主题

8

帖子

80

积分

注册会员

Rank: 2

积分
80
发表于 2015-8-29 20:45:32 | 显示全部楼层 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
请问一下用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了,请求官方帮忙解决!
谢谢!

发表于 2015-8-30 22:53:02 | 显示全部楼层
设备配置成功后,有可能先返回mac,再返回did,这是正常的现象。因为设备要从云端得到did再上报到APP,这个时间取决于大循环网络环境,与APP界面实现无关,不会因为H5 APP不弹出alert框就不回调。

4

主题

8

帖子

80

积分

注册会员

Rank: 2

积分
80
 楼主| 发表于 2015-8-31 10:29:11 | 显示全部楼层
pomia 发表于 2015-8-30 22:53
设备配置成功后,有可能先返回mac,再返回did,这是正常的现象。因为设备要从云端得到did再上报到APP,这个 ...

可是确实是这样的,先返回mac之后,就不会再回调返回did了,经过测试,只有alert框一直弹着不关闭才会第二次回调并且带有did。
你们可以自己试验一下。
APICloud的机智云模块。
发表于 2015-9-1 14:27:27 | 显示全部楼层
接口经过测试,不加alert框,也是可以执行回调函数的。

另外,设备配置确认时,只要有mac上报就代表已经完成这个过程了。设备did会在设备搜索的回调中返回。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表