帖子
帖子
用户
博客
课程
显示全部楼层
4
帖子
0
勋章
109
Y币

[BUG] gizWifiSDK无应答回调

[复制链接]
发表于 2016-3-22 15:18:36
开发过程遇到一个问题、gizWifiSDK里面的gizWifiDevice的wrte方法有时候没有callback回调,
代码如下:
  1. var code = getObjData('scene');
  2.                     console.log('edit-result-start')
  3. writeDataToHub(gizWifiDevice,mac,did,code,function(){
  4.   console.log('sc写入完毕2:'+code);
  5.                     });
复制代码
  1. function writeDataToHub(gizWifiDevice,mac,did,code,callback){
  2. gizWifiDevice.write({
  3.    "device": {
  4.      "mac": mac,
  5.      "did": did
  6.    },
  7.    "data": {
  8.      "cmd": 1,
  9.      "binary":code
  10.    }
  11. },function(ret,err){
  12. if(ret){
  13.    if(typeof callback == "function"){
  14.    callback();
  15. }
  16. }else{

  17. }
  18. });
  19. }
复制代码



在调试日志中有时候只能看到 'edit-result-star' 而看不到 'sc写入完毕2:' 这句回调,但重启程序能发现数据是能写入到设备中的。

求指教是什么情况,是模块调用不规范么? 写入指令也会时快时慢的
15
帖子
0
勋章
96
Y币
问一下,我的app执行到login时,没有回调,帮我解答一下。你的都能write了
4
帖子
0
勋章
109
Y币
神境 发表于 2016-3-24 00:12
问一下,我的app执行到login时,没有回调,帮我解答一下。你的都能write了
  1. function loginDevice(mac,did,callback){
  2.         gizWifiDevice.login({
  3.                 "uid": uid,
  4.                 "token": token,
  5.                 "device": {
  6.                         "mac": mac,
  7.                         "did": did
  8.                 }
  9.         },function(ret,err){
  10.                 if(ret){
  11.                         checkConnect(mac,did,callback);
  12.                 }else{
  13.                         loginDevice(mac,did,callback);
  14.                         //alert('登录失败');
  15.                         //alert("ret = " + JSON.stringify(err));
  16.                 }
  17.         });
  18. }

  19. /**
  20. * 检测App与设备是否连接
  21. * @param mac:hub mac地址
  22. * @param did:hub did
  23. */
  24. function checkConnect(mac,did,callback){
  25.         gizWifiDevice.getDeviceInfo({
  26.                 "device": {
  27.                         "mac": mac,
  28.                         "did": did
  29.                 }
  30.         },function(ret,err){
  31.                 if(ret){
  32.                         var connect = ret.device.isConnected;
  33.                         if(connect){
  34.                                 callback()
  35.                         }else{
  36.                                 loginDevice(mac,did,callback);
  37.                         }
  38.                 }else{
  39.                        //
  40.                 }
  41.         });
  42. }
复制代码
4
帖子
0
勋章
109
Y币
神境 发表于 2016-3-24 00:12
问一下,我的app执行到login时,没有回调,帮我解答一下。你的都能write了

这个是我们登录处理的代码、不过的确出现过登录回调失效的情况、更本不触发回调、write也会有这个情况
15
帖子
0
勋章
96
Y币
我也出现这种情况了,登陆后没有回调,write 没有回调,registerNotifications也没有回调,感觉是gizWifiDevice出问题了,write指令设备是有反应的,write设定数据也正常,就是没有回调
15
帖子
0
勋章
96
Y币
我本来是login后回调才能执行write指令,现在直接write,不管login的回调是正常的,估计gizWifiDevice所有回调都有问题
请检查一下apicloud的自定义loader编译环境。
没有回调的原因,曾经发生过是由于apicloud编译环境更新导致的。

380
帖子
4
勋章
6
Y币
编译环境没有问题,回调也没有问题。
您需要登录后才可以回帖 登录

本版积分规则