【Node.js24.x】Object::setTimeout()メソッドの使い方
setTimeoutメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
setTimeoutメソッドは、Node.js環境において、指定した時間が経過した後に特定の関数を一度だけ実行するメソッドです。これは、非同期処理を実現するための基本的な機能の一つであり、アプリケーションの応答性を維持しながら時間差で処理を実行したい場合に特に有用です。
このメソッドは、主に三つの引数を取ります。最初の引数は、指定した時間が経過した後に実行されるコールバック関数です。二番目の引数は、関数を実行するまでの遅延時間で、ミリ秒単位で指定します。例えば、1000を指定すると1秒後に実行されます。三番目以降の引数はオプションで、コールバック関数に渡す追加の引数として使用できます。
setTimeoutを呼び出すと、その戻り値としてタイマーの識別子(Timeoutオブジェクト)が返されます。この識別子を使用することで、clearTimeoutメソッドを呼び出して、まだ実行されていない予約済みの処理を途中でキャンセルすることが可能です。
注意点として、指定した遅延時間は、その時間が経過した後に「少なくとも」実行されるという保証であり、システムの負荷や他の非同期タスクの状況によっては、若干遅れて実行されることがあります。これはNode.jsのイベントループの性質によるもので、同期的な処理をブロックすることなく、効率的に非同期処理をスケジューリングするために利用されます。
構文(syntax)
setTimeout(() => {
console.log("このメッセージは1秒後に表示されます。");
}, 1000);
引数(parameters)
callback, delay, ...args
- callback: function: 指定された遅延時間の後に実行される関数
- delay: number: コールバック関数が実行されるまでの遅延時間(ミリ秒)
- ...args: any: コールバック関数に渡される追加の引数
戻り値(return)
Timeout
setTimeoutメソッドは、指定した遅延時間(ミリ秒)の後に一度だけ関数を実行するようにタイマーを設定します。その戻り値としてTimeoutオブジェクトが返され、これは後でclearTimeout関数を用いてタイマーをキャンセルするために使用できます。