Proce.nextTick 的原理

24-05-24     slbcun     631℃     0

这一讲我除了结合上一讲说的究宏任务和微任务的运行机制外,还将通过一些代码片段来带你研究 Process.nextick 的执行逻辑,帮你把这块知识点重新梳理。在日常开发中,Process.nextick 在浏览器端代码中很少使用,但在 Node.js 开发种却极为常见,所以你要好好掌握。

那么,为了方便你更好地理解本讲的内容,在课程开始前请你先思考:

Process.nextick 和其他微任务方法在一起的时候,执行顺序是怎么样的?

Vue 也有个 nextick,它的逻辑又是什么样的?

带着疑问,我们先来了解一下 Process.nextick。

基本语法

Process.nextick 的语法有两个参数:

process.nextTick(callback[, ...args])

其中,第一个参数是 callback 回调函数,第二个参数是 args 调用 callback 时额外传的参数,是可选参数。

再来看下 Process.nextick 的运行逻辑:

Process.nextick 会将 callback 添加到“next tick queue”;

“next tick queue”会在当前 JavaScript stack 执行完成后,下一次 event loop 开始执行前按照 FIFO 出队;

如果递归调用 Process.nextick 可能会导致一个无限循环,需要去适时终止递归。


分享 收藏 查看详细内容请点击:   下载
发表我的评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~