async/await 和 promise 的执行顺序

async function async1() {
    console.log("async1 start");
    await async2();
    console.log("async1 end");
}

async function async2() {
    console.log("async2");
}

console.log("script start");

setTimeout(function() {
    console.log("setTimeout");
}, 0);

async1();

new Promise(function(resolve) {
    console.log("promise1");
    resolve();
}).then(function() {
    console.log("promise2");
});

console.log("script end");

结果输出

script start
async1 start
async2
promise1
script end
promise2
async1 end
setTimeout

参考8张图让你一步步看清 async/await 和 promise 的执行顺序

你可能感兴趣的:(async/await 和 promise 的执行顺序)