收藏
回答

htis.setData({})无效?

wx.request里htis.setData({})赋值只能在wx.request里获取到 出去这个方法就获取为空 忽然就这样 什么鬼玩意 求指教

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

4 个回答

  • 瞌睡虫
    瞌睡虫
    04-02

    04-02
    有用 1
    回复 3
    • Eric
      Eric
      04-02
      request 是异步的
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02回复Eric
      其他方法好好的  就这个方法出现这种奇怪现象
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02回复瞌睡虫
      哎 解决了 就是异步的问题 我把执行完这个函数需要再执行的方法都放在这个里面 多谢大家了
      04-02
      回复
  • 青寒
    青寒
    04-02

    在你这个“wx.request”外面,var that = this;

    然后“wx.request”里面,that.setData...

    04-02
    有用 1
    回复 4
    • 瞌睡虫
      瞌睡虫
      04-02
      代码贴上了 麻烦你看下
      04-02
      回复
    • 青寒
      青寒
      04-02回复瞌睡虫
      那个“一”应该能打印出来信息啊,“二”正常也是没有。
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02
      正常应该是都能打印出来的啊
      我thit.setData是赋值给Page里data定义的变量
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02
      哎 解决了 就是异步的问题 我把执行完这个函数需要再执行的方法都放在这个里面 多谢大家了
      04-02
      回复
  • (ー_ー)
    (ー_ー)
    04-02

    htis?????

    04-02
    有用 1
    回复 6
    • 瞌睡虫
      瞌睡虫
      04-02
      代码贴上了 麻烦你看下
      04-02
      回复
    • (ー_ー)
      (ー_ー)
      04-02回复瞌睡虫
      request 是一个异步函数呀,你在success里面调一个this的函数,函数里面log一下这个变量
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02
      函数内外都log了
      04-02
      回复
    • (ー_ー)
      (ー_ー)
      04-02回复瞌睡虫
      request是异步的,所以你的代码二比一执行的早,success是request的成功回调函数,你在回调函数还没执行的时候就去log变量的值,这时候变量还没有被赋值,所以是空,你要在变量赋值之后去log才有值
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02回复(ー_ー)
      哎 解决了 就是异步的问题 我把执行完这个函数需要再执行的方法都放在这个里面 多谢大家了
      04-02
      回复
    查看更多(1)
  • Brother斌🎈
    Brother斌🎈
    04-02

    有没有兴趣截个图或提供一下代码片段看看

    04-02
    有用 1
    回复 3
    • 瞌睡虫
      瞌睡虫
      04-02
      代码贴上了  麻烦你看下
      04-02
      回复
    • Brother斌🎈
      Brother斌🎈
      04-02回复瞌睡虫
      异步问题 我小程序是加async/await解决异步的
      04-02
      回复
    • 瞌睡虫
      瞌睡虫
      04-02回复Brother斌🎈
      哎  解决了 就是异步的问题  我把执行完这个函数需要再执行的方法都放在这个里面  多谢大家了
      04-02
      回复
登录 后发表内容
问题标签