Event Loop
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
async1 end
promise2
setTimeout

请我喝杯咖啡
请我喝杯咖啡