Fork me on GitHub

【WePY小程序框架实战四】-使用async&await异步请求数据

async await 是对promise的近一步优化,既解决了promise链式then的这种写法壁垒,又让异步请求更像同步,若对async await不太了解的同学可以直接参考阮一峰老师的文章async 函数的含义和用法,这里我们只关注怎么在小程序wepy架构中如何使用。

依赖库

 import 'wepy-async-function'

app.wpy中启用

export default class extends wepy.app {
    constructor () {
    
        super()
        this.use('promisify'); 
    }
}

使用实例


getData(x){
  return new Promise((resolve,reject)=>{
    setTimeout(()=>{
      if(x%2 === 0){
        resolve(x)
      }else{
        reject(`${x}是不正确的输入`);
      }
    },x*1000)
  })
}


async onLoad() {
  try{
    let data1 = await this.getData(2);
    console.log(data1);
    let data2 = await this.getData(1);
    console.log(data2);//已经异常不再执行
  }catch(error){
    console.log(error);
  }
}

调用
onLoad() // 以同一时间为基准,2秒后输出2,3秒后输出 1不是正确的输入

getData().then(fun(),fun()

posted @ 2018-09-13 20:31  飞河  阅读(680)  评论(0编辑  收藏  举报
Fork me on GitHub