随笔写:setTimeout、Promise、Async/Await的区别?

42 篇文章 1 订阅
14 篇文章 0 订阅

写在前面

        晚上好呀,闲话少叙。直接讲知识点吧,要好好背嗷。

事件循环中分为宏任务和微任务队列

        宏任务(macrotask):在新标准中叫task。

        主要包括:script(整体代码),setTimeout,setInterval,I/O,ui rendering。

        微任务(microtask):在新标准中叫jobs。

        主要包括:process.nextTick,Promise,MutationObserver(html5新特性)

setTimeout、Promise、Asunc/Await的区别

        setTimeout的回调函数放到宏任务队列里,等到执行栈清空以后执行。

        Promise.then里的回调函数会放到相应宏任务的微任务队列里,等宏任务里面的同步代码执行完再执行。

        async方法执行时,遇到await会立即执行表达式,然后把表达式后面的代码放到微任务队列里,让出执行栈让同步代码先执行。

写在最后

        以上就是今天的所有内容啦。下期见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值