写出以下JavaScript代码的执行顺序:
async function a1() {
console.log('a1 start')
await a2()
console.log('a1 end')
}
async function a2() {
console.log('a2')
}
console.log('js start')
setTimeout(() =>{
console.log('setTiomeOut')
},0)
Promise.resolve().then(() => {
console.log('promise1')
})
a1()
let Promise2 = new Promise((resolve) => {
resolve('promise.then')
console.log('promise2')
})
Promise2.then((res)=>{
console.log(res)
Promise.resolve().then(()=>{
console.log('Promise3')
})
})
console.log('js end')
先自己想想哦,答案在最后哦
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
js start
a1 start
a2
promise2
js end
promise1
a1 end
promise.then
Promise3
setTiomeOut
详见:查看解析