JS运行机制的执行顺序

<!--
        JS运行机制的顺序
        1.同步
        2.process.nextTick
        3.微任务(promise.then)
        4.红任务(计时器,ajax,读取文件)
        5.setImmediate
        这是一次事件循环,如果还有任务队列里还有事件,会在setImmediata之后执行
        运行栈会执行同步代码,异步代码会在任务队列中执行,事件循环机制会不断检测任务队列中的事件,
        存在事件即会执行,settimeout的延迟是延迟后将事件存放到任务队列中。
     -->
        async function fun() {
            return 1
        }
        //async函数的返回值是一个promise对象,所以可以调用。then方法,data为async函数的返回值
        function fun() {
            return new Promise((resolve) => {
                resolve(2)
            })
        }
        //这两种写法的结果是一样的。
        fun().then((data) => {
            console.log(data)
        })
        let p1 = new Promise((resolve => { resolve(3) }))
        let p2 = new Promise((resolve => { resolve(4) }))
        async function Fun() {
            let a = await p1 //可以通过await调用promise对象
            let b = await p2
            console.log(a)
            console.log(b)
            return 99
        }
        Fun().then((data) => {
            console.log(data)
        })
        async function fun1() {
            console.log(300)
            let data = await fun2()
            console.log(data)
        }
        async function fun2() {
            console.log(200)
            return 100
        }
        fun1()
posted @   就挺秃然的  阅读(373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示