es6之 async await 使用小计

Posted wujiaolong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6之 async await 使用小计相关的知识,希望对你有一定的参考价值。

var sleep = (time)=>{
    return new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve(‘ok‘);
            reject(‘err‘);
        },time)
    })
};

var start = async function () {
    try {
        // 在这里使用起来就像同步代码那样直观
        console.log(‘start‘);
        // await必须再 async函数的上下文中
        for(var v of [1,2,3,4,5]){
            console.log(`当前是弟${v}次等待..`);
            await sleep(1000);
        }
        //获取返回值,如果有错则下一步不执行
        let re = await sleep(1000);
        console.log(re);
        console.log(‘end‘);
    }catch(err){
        console.log(err);
    }

};
start();

输出结果:

start
当前是弟1次等待..
当前是弟2次等待..
当前是弟3次等待..
当前是弟4次等待..
当前是弟5次等待..
ok
end

  

以上是关于es6之 async await 使用小计的主要内容,如果未能解决你的问题,请参考以下文章

ES6中async和await说明和用法

js异步之async/await

ES6 之 async函数

ES6 async/await语法

ES6 之 async 异步函数

ES6 异步编程解决方案 之 Async