微信小程序中ajax同步请求方法[转载]

最近在做微信小程序,在ajax获取数据的时候卡了很久,需求是在一个ajax中请求完成然后用这个返回数据再去请求另一个ajax,然后把两个数据进行处理(在第一个ajax中).因为微信小程序ajax是异步,所以通常第一个执行完后,第二个才执行完,这样就处理不了数据了.查了半天,总算是解决了这个问题,在此note下:

myAsyncFunc: function () {
    return new Promise(function (resolve, reject) { //这儿返回一个Promise对象
        console.log("myAsyncFunction done!");//打印输出信息
        resolve({ data: "Hello,World" });//储存数据
    });
  },
 
  myAsyncFunc2: function () {
    return new Promise(function (resolve, reject) { //同上
        console.log("myAsyncFunction2 done!");
        resolve({ data: "I am coming" });
    });
  },
 
  doit: async function () { //在需要同步方法的地方加上 async 
 
    var res = await this.myAsyncFunc(); //在需要阻塞同步的方法前加上 await
    console.log(" res: " + res.data);
 
    var res2 = await this.myAsyncFunc2();
    console.log(" res2: " + res2.data);
 
    return res2.data + res.data ;
  },
 onLoad: function(options) {
 
    this.doit().then(res => {
      console.log(' onLoad: ' + res);
    })
}

 打印结果

最基本的例子就在这儿啦.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值