我在输入/输出操作和process.nextTick
之前阅读了关于它们和setImmediate
的解释,在I / O操作之后,所以。我了解process.nextTick
在所有异步操作和setImmediate
之后触发,但在setTimeout
之前和setInterval
之前触发。有人可以解释并提供示例 - 这个解释中的I/O
操作意味着什么?
答案 0 :(得分:1)
让我向你描述一下这是什么。
假设这是队列。它在事件循环中有三个函数来执行。
a , b , c
所以队列是FIFO所以先到先服务器,这意味着一个将执行然后b,然后c。 那么这两个功能的作用是什么。 当你使用
process.nextTick
,当你运行它时,新进程被添加到事件循环中,并且紧接在当前进程后面添加的进程正在执行。
这意味着。
a , new_process , b , c
在这种情况下,new_process
将在当前进程a
退出事件循环后执行。然后b,c将执行。
等手
setImmediate
,当你运行它时,新进程会在队列末尾添加。喜欢这个
a , b, c , new_process
所以现在当a,b,c完成后,new_process
就会执行。