Okarin note

頭の整理もかねて色々と書いていきます

Node.jsのnextTick()について

nextTick()

Node.jsのイベントループを提供しているlibuvではなくNode.js自体が提供している機能。

全ての非同期処理の中で最速で実行される。

実行箇所はイベントループの各フェーズごと。

nextTick()の処理が重いとイベントループ自体をブロックする。

ブロックするとどうなるか?

→ サーバーが停止するためリクエストに応答できない

もしバックグラウンドで動作させたい処理があるならnextTick()よりsetImmediate()を使った方がいい。

setImmediate()はnextTick()と似ているがイベントループの最後のcheckフェーズで実行されるのでイベントループをブロックすることがない。