async wait

async-awaitpromisegenerator的语法糖。只是为了让我们书写代码时更加流畅,当然也增强了代码的可读性。

async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。

即先执行async,async 函数返回的是一个 Promise 对象,

然后进行await。

await 必须出现在 async 函数内部,不能单独使用。

实例:
function sleep(num) {
    return new Promise(function (resolve,reject) {
        setTimeout(function () {
            resolve(num+1)
        },1000)
    })
}
 
async function asyncAwait() {
    var result1 = await sleep(0);
    var result2 = await sleep(result1);
    var result3 = await sleep(result2);
    console.log(result1, result2, result3);
}


function sleep(second, param) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(param);
        }, second);
    })

}

async function test() {
    let result1 = await sleep(2000, 'req01');
    let result2 = await sleep(1000, 'req02' + result1);
    let result3 = await sleep(500, 'req03' + result2);
    console.log(`
        ${result3}
        ${result2}
        ${result1}
    `);
}

错误处理:

async function errorDemoSuper() {
    try {
        let result = await sleep(1000);
        console.log(result);
    } catch (err) {
        console.log(err);
    }
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值