setTimeout と clearTimeout
setTimeout は、コールバック関数 cb を設定するために使用されます。この関数は、少なくとも ms ミリ秒後に (ms ミリ秒直後ではなく) 実行されます。 setTimeout の戻り値は、コールバック関数が実行されないようにタイマーを停止するために使用される、clearTimeout のパラメーターとして使用できます。
setInterval および clearInterval
setInterval は setTimeout に似ていますが、setInterval は ms ミリ秒ごと (正確には ms ミリ秒ではありません) で cb を実行します。 setInterval の戻り値は、コールバック関数が実行されないようにタイマーを停止するために使用される、clearInterval のパラメーターとして使用できます。
setImmediate および clearImmediate
setImmediate は、cb 関数の呼び出しを遅らせるために使用されます。 cb は、I/O イベント コールバックの後、setTimeout および setInterval コールバックの前に呼び出されます。 setImmediate の戻り値は、clearImmediate のパラメータとして使用でき、コールバック関数のトリガーを停止するために使用されます。
process.nextTick
setImmediate 関数と同様に、cb 関数の呼び出しを遅らせるために使用されます。 cb は I/O イベント コールバックの前に呼び出されます (setImmediate とは異なります)。 process.nextTick は setTimeout(cb, 0) よりもはるかに効率的です。 process.nextTick は各ループで process.maxTickDepth までのコールバック関数を実行しますが、setImmediate は各ループで 1 つのコールバック関数のみを実行します。