收藏
回答

把openid存到globalData中,然后在放到其他组件的data中?

能请求到openid,然后试了各种方法,都存不到data中,

总是这种情况,这个异步问题就是解决不掉。

我就是想在app.js中请求openid然后在组件的onLoad/onReady中放到data里,

但是我onLoad就要用到,但是都是异步的,导致我在onLoad使用的时候拿不到值。


最后一次编辑于  2020-12-16
回答关注问题邀请回答
收藏

1 个回答

  • 路远
    路远
    2020-12-14
    为什么wx.setStorage会执行失败,弄得我怀疑人生了,换成wx.setStorageSync就可以了,我还担心异步问题所以才用的setStorage,结果刚刚一看,竟然压根没创建,啊啊啊啊
    
    用setStorage得在回调里面用,但是还是异步的,得在回调里面用,放到data中,但是在onLoad中使用还是没有获得值
    

    2020-12-14
    有用
    回复 4
    • 耿霄
      耿霄
      2020-12-14
      wx.setStorage会执行失败,报什么错误?

      wx.setStorage 是异步的,在回调函数了才能获取
      2020-12-14
      回复
    • 路远
      路远
      2020-12-16回复耿霄
      我想在onLoad里面把openid赋值到data里面,onLoad下面接着就要用到openid但是都是异步的,在onLoad中使用的时候还没有接收到值
      2020-12-16
      回复
    • 耿霄
      耿霄
      2020-12-16回复路远
      1.通过async await 同步写法
      2. 通过 promise 写法
      3. 通过 callback 方式

      总之要控制好时序
      2020-12-16
      回复
    • 路远
      路远
      2020-12-16回复耿霄
      我试过callback,但还是得在函数里面用,如果赋值到data中,在onLoad里面还是不行
      2020-12-16
      回复
登录 后发表内容
问题标签