收藏
回答

怎么把wx.request调用成功的结果返回给其他函数?

做一个调用天气API的练习,API用的是和风天气API。

index.js文件中负责更新页面数据的getWeather函数要拿到城市的id码,拿到城市的id码又要请求另一个url去拿,拿到id码的过程我封装在util文件里的getLocationID函数中。

但是返回id的语句写在了这个函数的一个wx.request函数的success状态中,原本以为getWeather函数会调用getLocationID函数获取相关数据,但实际根本拿不出来,不知道是哪里的逻辑错误,望有知者指正。

问题代码已发至:https://gitee.com/tracker647/problem


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

4 个回答

  • 猛男陈阔
    猛男陈阔
    2021-02-23
    getLocationID(){
     return  wx.request({
        url:'',
        success:function(res){
          this.LocationId = res.data.LocationId
        },
        error:function(res){
           
        }
      })
    }
    getWeather(){
       return  wx.request({
        url:'',
        data:{
          LocationId:this.LocationId
        },
        success:function(res){
           
        },
        error:function(res){
           
        }
      })
    }
    async onLoad(){
      await this.getLocationID()
      await this.getWeather()
    }
    
    2021-02-23
    有用 1
    回复
  • 跨商通
    跨商通
    2021-02-23

    这样的问法,99%可以判断是异步问题。去了解一下:JS异步。

    2021-02-23
    有用 1
    回复
  • 维她命系
    维她命系
    2021-02-23

    https://developer.mozilla.org/zh-CN/docs/learn/JavaScript/%E5%BC%82%E6%AD%A5/Async_await

    2021-02-23
    有用
    回复
  • 拾忆
    拾忆
    2021-02-22

    async await

    2021-02-22
    有用
    回复 1
    • 另一种开始
      另一种开始
      2021-02-23
      能具体说明问题出在哪怎么解决吗?
      2021-02-23
      回复
登录 后发表内容
问题标签