收藏
回答

onload中使用wx.request请求回来的数据怎么在onload中的其他部分再次调用?

onload中使用wx.request请求回来的数据怎么在onload中的其他部分再次调用?我是小白,不懂就问,麻烦别喷,谢谢。

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

5 个回答

  • 流利
    流利
    2021-04-25

    网络请求一般都是异步的,需要等到后台响应回来的时候才会执行.之所以出现你说的问题,是因为下面的获取data代码在执行的时候,上面的setData实际还没有执行 . 简单一点就是把下面的代码搬上去.高端一点可以采用ES6的promise机制

    2021-04-25
    有用
    回复
  • TTc
    TTc
    2021-04-25

    你把所有需要用到request结果的代码 都放到request的success的callback function里

    2021-04-25
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2021-04-25

    第一个问题是18年,到现在不可能还是小白吧

    2021-04-25
    有用
    回复 5
    • 小白。💭
      小白。💭
      2021-04-25
      表示几乎没有写小程序,突然要……
      2021-04-25
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-04-25回复小白。💭
      跟小程序没关系  js问题,就算不搞前端,js也得会点啊。你这样子并不是开发人员
      2021-04-25
      回复
    • 小白。💭
      小白。💭
      2021-04-25回复Mr.Zhao
      那我得怎么解决呢?我在onload里面写了request,也setData了,但是在request外层拿不到data数据。
      2021-04-25
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-04-25回复小白。💭
      你这个问题是异步问题,跟小程序没关系 。用async await,不会就百度学学,如果你是开发,你也工作不少年了,这点问题可以独立解决
      2021-04-25
      1
      回复
    • Cjiang
      Cjiang
      2021-04-25回复小白。💭
      Promise.then() / 写在wx.request 成功回调里
      2021-04-25
      回复
  • ᥬ[吃瓜]᭄
    ᥬ[吃瓜]᭄
    2021-04-25

    全局变量

    https://www.w3school.com.cn/js/js_scope.asp

    2021-04-25
    有用
    回复
  • 王大傻
    王大傻
    2021-04-25

    你要等 wx.request执行完成后在执行

    2021-04-25
    有用
    回复 4
    • 小白。💭
      小白。💭
      2021-04-25
      就怎么弄?我贴个代码段给您。
      2021-04-25
      回复
    • 王大傻
      王大傻
      2021-04-25回复小白。💭
      你把你下面的代码 放到 success 不就可以了
      2021-04-25
      回复
    • 王大傻
      王大傻
      2021-04-25
      这是异步问题来的
      2021-04-25
      回复
    • 小白。💭
      小白。💭
      2021-05-08回复王大傻
      谢谢,搞定了。
      2021-05-08
      回复
登录 后发表内容