强大的异步处理专家
语法:(callback和可选args)
process.nextTick(callback[,…args])
callback:回调函数
args:调用callback时额外传的参数,是可选参数
再来看下 Process.nextick 的运行逻辑:
1、Process.nextick 会将 callback添加到”next tick queue”;
2、”next tick queue”会在当前 JavaScript stack执行完成后,下一次 event loop 开始执行前按照 FIFO出队;
3、如果递归调用 Process.nextick 可能会导致一个无限循环,需要去适时终止递归。
可能你已经注意到 Process.nextick 其实是微任务,同时也是异步 API的一部分。但是从技术上来说 Process.nextick 并不是事件循环(eventloop)的一部分,相反地,“next tick queue”将会在当前操作完成之后立即被处理,而不管当前处于事件循环的哪个阶段。
所以process.nextTick()在异步任务中有着最高的优先级,会在事件轮询开始前优先执行其内部的回调函数。该方法在Node.js中非常常见。
链接:https://blog.csdn.net/qq_39200185/article/details/121206811