1. ホーム
  2. ジャバスクリプト

[解決済み】setImmediateとnextTickの比較

2022-03-25 02:14:31

質問

本日リリースされたNode.jsのバージョン0.10では、以下の機能が追加されました。 setImmediate . その API の変更点 のドキュメントでは、再帰的な nextTick を呼び出します。

何から何まで MDNによると と非常に似ているように思います。 process.nextTick .

どのような場合に nextTick を使用し、どのような場合に setImmediate ?

解決方法は?

使用方法 setImmediate を使用すると、すでにイベントキューにある I/O イベントコールバックの後ろに関数をキューイングすることができます。 使用方法 process.nextTick を使うと、関数がイベントキューの先頭に来るようになり、 現在の関数が終了した直後に関数が実行されるようになります。

つまり、CPUに負荷のかかる長時間稼働のジョブを再帰を使って分断しようとする場合、今度は setImmediate ではなく process.nextTick を使用して次の反復をキューに入れます。そうしないと、I/Oイベントコールバックが反復の間に実行される機会がなくなってしまうからです。