消息队列和宏任务队列有什么区别?是同一回事吗?
在Nodejs文档这里上,它说:
当调用setTimeout()时,浏览器或Node.js启动计时器。一旦计时器过期,在这种情况下,就像我们将0作为超时一样,回调函数将被放入消息队列中。
然而,在这部分,它说:
将setTimeout,setImmediate回调添加到宏任务队列中。
那么,消息队列和宏任务队列是一回事吗?
发布于 2022-06-16 11:14:58
如果我读对了,“消息队列”似乎是一个使用几个不同队列实现的通用术语。
在这一节中,他们解释:
process.nextTick回调将添加到process.nextTick队列中。Promise.then()回调被添加到承诺微任务队列中。将setTimeout,setImmediate回调添加到宏任务队列中。
看起来宏任务、微任务等是实现的特定部分,具有不同的属性。
例如,执行命令:
事件循环首先执行process.nextTick队列中的任务,然后执行承诺微任务队列,然后执行宏任务队列。
找到了另一个简单的解释,这里。
发布于 2022-06-16 12:45:00
这里指的是同样的东西。可以说,"消息队列“是一个更通用的术语,就像”微任务队列和宏任务队列都是消息队列“一样。
https://stackoverflow.com/questions/72643483
相似问题