【Node.js24.x】setTimeout::setTimeout()関数の使い方
setTimeout関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
setTimeout関数は、指定されたミリ秒数が経過した後に、一度だけ特定の関数を実行する非同期処理のスケジューリングを行う関数です。この関数は、Node.js環境においてグローバルに利用でき、アプリケーション内で時間ベースで処理を遅延させたい場合に非常に有用です。
基本的な使用法として、第一引数には実行したいコールバック関数を指定し、第二引数にはその関数を実行するまでの遅延時間をミリ秒単位で指定します。例えば、setTimeout(() => console.log('Hello'), 1000)と記述すると、1秒後にHelloがコンソールに出力されます。さらに、オプションとして第三引数以降に、コールバック関数に直接渡したい引数を指定することも可能です。これにより、遅延実行される関数に動的な値を与えることができます。
setTimeout関数は、呼び出されるとタイマーの識別子となるTimeoutオブジェクトを返します。このTimeoutオブジェクトを使用することで、指定された時間が経過する前に、clearTimeout関数を用いて予約された処理をキャンセルすることが可能です。例えば、ユーザーの操作に応じてタイマーをリセットする場合などに活用されます。
注意点として、指定された遅延時間は、あくまで処理が実行されるまでの最小の待機時間であり、正確にその時間で実行されることを保証するものではありません。他の処理がCPUを占有している場合などには、設定された遅延時間よりも少し遅れて実行される可能性があります。これは、Node.jsがシングルスレッドのイベントループモデルで動作するためです。setTimeoutは、アプリケーションの応答性を保ちながらバックグラウンドで一定時間後に処理を実行したいようなシナリオで幅広く利用されます。
構文(syntax)
1setTimeout(() => { 2 // 遅延後に実行したい処理をここに記述します。 3}, 1000);
引数(parameters)
callback, delay = 1, ...args
- callback: function: 指定された遅延時間後に実行される関数
- delay: number = 1: タイマーをミリ秒単位で遅延させる数値 (デフォルトは1ミリ秒)
- ...args: any[]:
callback関数に渡される追加の引数
戻り値(return)
Timeout
setTimeout 関数は、指定された遅延時間後に一度だけ関数を実行するタイマーをスケジュールします。この関数は、実行されたタイマーを表す Timeout オブジェクトを返します。このオブジェクトは、タイマーをキャンセルするために後で使用できます。