解释process.nextTick和setImmediate中的I / O是什么?
我读了关于它们的解释, process.nextTick
在input/输出操作之前触发, setImmediate
– 在I / O操作之后触发。 据我所知, process.nextTick
在所有的asynchronous操作setImmediate
触发,并在setTimeout
之前和setInterval
之前触发setImmediate
。 有人可以解释和提供例子 – 这个解释中的I/O
操作是什么意思?
让我来形容这是什么。
假设这是队列。 在事件循环中有三个函数可以执行。
a , b , c
所以队列是先进先出的先到先服务器,TH表示a将执行然后b,然后c。 那么这两个function是做什么的呢。 当你使用
process.nextTick
,当你运行这个新的进程被添加到事件循环中,并且在当前进程后面立即执行。
那意味着。
a , new_process , b , c
在这种情况下, new_process
将在当前进程之后执行从事件循环退出。 那么b,c就会执行。
另一方面
setImmediate
,当你运行这个新进程时,在队列的最后添加。 喜欢这个
a , b, c , new_process
所以,现在当所有的a,b,c完成后, new_process
就会执行。