一道关于eventloop,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
undefined
setTimeout

你可能感兴趣的:(一道关于eventloop,async,await,promise的面试题)