强大的异步处理专家

    语法:(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