收藏
回答

小程序请求怎么做到异步啊?

我已经用Promise封装请求了,但还是异步的,看下代码吧

封装promise:

const post=(url,data)=>{
  return new Promise((resolve,reject)=>{
    wx.request({
      url:url,
      method:'POST',
      dataType:'json',
      data:data,
      header:{'content-type'"application/x-www-form-urlencoded"},
      success:function(res){
          resolve(res.data)
      },
      failfunction() {
          reject("请求数据失败");
      },
    })
  })
}


请求问题:

let data;
if(this.data.list){
  data=this.data.list;
}else{
   util.post(url,reqData).then((res)=>{
    console.log(res); //1
    data=res.data.list;
  });
}
console.log(data); //2


每次2比1先打印,感觉这种用的还是比较多的,想问下该怎么解决这个问题?

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

3 个回答

  • 拾忆
    拾忆
    11-09

    async await 试一下

    11-09
    有用 1
    回复 3
    • @:@
      @:@
      11-09
      用async已经可以了,上线的时候不用引入什么吧?
      11-09
      回复
    • 拾忆
      拾忆
      11-09回复@:@
      不要的,详情设置这个就行了
      11-09
      回复
    • @:@
      @:@
      11-09
      知道了,谢谢了
      11-09
      回复
  • this
    this
    11-09

    小程序已经支持async await的用法,不过要开启增强编译

    11-09
    有用 1
    回复 4
  • 陈宇明
    陈宇明
    11-09

    支持async/await语法

    11-09
    有用
    回复
登录 后发表内容
问题标签