async函数执行机制

发布时间 2023-10-20 13:16:07作者: 亦茫茫
        fn()

        console.log(1);
        setTimeout(() => {
            console.log(4);
        }, 100);
        Promise.resolve().then(()=>{
            console.log(2);
        })

        console.log(3);

        function fnPromise(){
            return new Promise(resolve=>{
                resolve(5)
            })
        }

        async function fn(){
            // const res = await fnPromise() //遇到await就执行紧跟的表达式,然后跳出该函数,只要await后面表达式语句有明确结果,await后一行的代码立即加入微任务队列
           const res = await 51 //遇到await就执行紧跟的表达式,然后跳出该函数,只要await后面表达式语句有明确结果,await后一行的代码立即加入微任务队列
           console.log('res',res);
        }

       result:
       3
       res 51
       2
       4