收藏
回答

app.js中调用云函数和页面onload中调用云函数,先后顺序出错?

本意是想做一个用户使用记录的集合!

实现的时候,利用云函数,获取openid,并在云函数中,检测是否已经有此openid记录,如无,就加入云端集合!

在app.js的onLaunch中调用云函数!并将是否为新用户的变量,以及openid,记录id 保存进全局变量中!

但是,新用户,在通过扫描createQRCode生成的二维码,进入页面时! onload中,获取全局变量为undefined

迫不得已,自己在需要通过二维码扫描进入的页面的onload函数中,再次调用获取openid的云函数,以实现,新老用户变量,已经用户信息记录id的获取!

这时,又出现了问题! app.js中的云函数调用,以及页面onload的调用,同时运行了! 由于两个调用,都被执行,而且调用完成顺序未知,就产生了bug!

有没有大神,给提出以下,解决思路,不胜感激



回答关注问题邀请回答
收藏

1 个回答

  • undefined
    undefined
    03-25

    用回调函数实现按顺序执行

    03-25
    赞同
    回复 14
    • 全诚房产-许改革
      全诚房产-许改革
      03-25
      ok,解决掉了!  在onload的回调里面执行后续操作!忽略掉全局的拘束!谢谢
      03-25
      回复
    • 全诚房产-许改革
      全诚房产-许改革
      03-25
      又出问题了!我在onload里云函数的回调里,进行后续操作!刚才没有问题!都是onload的云函数,先执行结束,所以没有出现问题!试了几次之后,问题就出现了,app.js下的云函数先执行完毕,导致onload里的云函数,执行结果是错误的!  这可怎么办
      03-25
      回复
    • undefined
      undefined
      03-25回复全诚房产-许改革
      你代码怎么写得 我看看。别用文字描述
      03-25
      回复
    • 全诚房产-许改革
      全诚房产-许改革
      03-25
      03-25
      回复
    • 全诚房产-许改革
      全诚房产-许改革
      03-25回复undefined
      代码片段,您还需要看哪些代码,告诉我!我发出来!我的考虑是,app.js中云函数调用需要时间,所以,在onload中再次调用,回调中,再使用全局数据(也就是app.js的云调用结果),因为两次调用云函数,都是需要时间的,  在onload的回调里,使用全局变量,此时,大概率app.js的执行已经完成!  所以导致大概率成功!
      03-25
      回复
    查看更多(9)
登录 后发表内容
问题标签