async function async1() { console.log("async1 start"); await async2(); console.log("async1 end"); } async function async2() { console.log("async2"); } console.log("script start"); async1(); setTimeout(()=> { console.log("setTimeout"); }, 0); new Promise((resolve)=> { console.log("promise 1"); }).then((res) => { console.log("resolve 1") }) console.log("script end");