前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >同步等待方法

同步等待方法

作者头像
用户1075292
发布2018-01-23 11:40:06
1.5K0
发布2018-01-23 11:40:06
举报
文章被收录于专栏:听雨堂听雨堂
代码语言:javascript
复制
function waitVar(key,varb, fun) {      //等待指定变量,返回:-1:无数据,继续等待 -2:超时 1:成功。fun不支持参数
  if (!cnt2[key]) {
    cnt2[key] = 1
  }
  else {
    cnt2[key]++
  }
  if (!varb || varb.length == 0) {
    if (cnt2[key] > 10) {      //超时,由于都是异步操作,相互依赖的变量会同时判断,所以这个时间是最大的
      wx.showToast({
        title: '无法获取数据!',
        image: "/remind.png",
        duration: 3000
      })
      return -2
    }
    else {
      console.log("等待变量同步" + key, varb)
      wx.showToast({
        title: '正在下载数据!',
        image: "/remind.png",
        duration: 500
      })

      if (arguments.length == 3)  //正常状态,fun没有参数
        setTimeout(fun, 500)

      //对于onLoad无法使用,因为他的参数无法像普通参数一样处理  
      if (arguments.length == 4)  //正常状态,fun有1个参数,arguments不能按照数组来处理,不能用slice,所以逐个处理
      {
        console.log("参数",arguments,arguments[3])
        setTimeout(fun, 500, arguments[3]) //arguments:0,1,2:3个参数。3:传递给fun的参数。setTimeout(回调函数,时间,参数1,...,参数n)
      }

      return -1
    }
  }
  return 1
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档