异步任务进入callback queue 的时机
来源:5-9 -浏览器和nodejs事件循环(Event Loop)有什么区别-浏览器

clown007
2023-01-31
我的理解如下:
异步任务执行好后,其回调函数才会进入对应的microTaskQueue、macroTaskQueue。
如定时器的回调函数,不是写了定时器后,回调函数就在立刻进macroTaskQueue里了,而是等定时器时间结束了,才会进macroTaskQueue。
promise也类似,new promise,需要等这个promise 的状态变成了 resolve 后,其.then 的回调函数才会进 microTaskQueue
不知道是否正确
写回答
2回答
-
天使也很坏
6天前
js引擎线程同步代码执行到setTimeout,会做两件事:
1、保存回调函数,标记task key,放在一个临时内存中
2、通知定时器触发线程,执行倒计时的任务(通过task key映射)
定时器触发线程启动了一个底层的定时任务,时间到了就会通知js引擎线程,将对应task key的函数加入宏任务队列
00 -
双越
2023-02-01
是的,没问题。
00
相似问题