await 后面跟的对象

        await 后面可以跟任何的JS 表达式。虽然说 await 可以等很多类型的东西,但是它最主要的意图是用来等待 Promise 对象的状态被 resolved。

如果await后面是 promise对象会造成异步函数停止执行并且等待 promise 的解决,

如果await后面是 正常的表达式则立即执行

 

1.后面跟Promise对象

function sleep(second) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(' enough sleep~');
        }, second);
    })
}
async function awaitDemo() {
    let result = await sleep(2000);
    console.log("123")
    console.log(result);
}
awaitDemo();// 两秒之后会被打印出来 '123'和' enough sleep~'

2.后面跟正常的表达式

function sleep(second) {
    
        setTimeout(() => {
            console.log(' enough sleep~');
        }, second);
   
}
async function awaitDemo() {
    let result = await sleep(2000);
    console.log("123");
}
awaitDemo();//立即输出123  两秒后输出' enough sleep~'

 

你可能感兴趣的:(ES7)