【Node.js24.x】Promise::reject()メソッドの使い方
rejectメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
rejectメソッドは、即座に「拒否(rejected)」状態のPromiseオブジェクトを生成するメソッドです。このメソッドは、Promiseクラスに直接関連付けられたスタティックメソッドであり、非同期処理が成功ではなく、何らかの理由で失敗したことを示すPromiseを迅速に作成したい場合に利用されます。
Promise.reject()メソッドは引数を一つ取ります。この引数はPromiseが拒否された理由(reason)を表し、通常はJavaScriptのErrorオブジェクト、あるいはその派生クラスのインスタンスを渡すことが強く推奨されます。これにより、エラーの種類や詳細な情報を呼び出し元に伝えることができます。
例えば、関数が必須の引数を受け取らなかった場合や、処理の途中で検証エラーが早期に判明した場合など、非同期処理を開始する前に失敗が確定している状況でPromise.reject()を使用すると非常に簡潔にコードを記述できます。これは、new Promise()コンストラクタ内で明示的にreject関数を呼び出すよりも、よりシンプルに失敗状態のPromiseを生成する手段となります。
Promise.reject()によって生成されたPromiseオブジェクトは、その後に続くcatch()メソッドやthen()メソッドの第二引数(拒否時のコールバック)でエラーとして捕捉され、適切なエラーハンドリングロジックを実行することが可能です。これにより、非同期処理チェーン全体でのエラー伝播と一元的なエラー処理が容易になります。
構文(syntax)
Promise.reject(new Error('Reason for rejection'));
引数(parameters)
reason
- reason: any: Promise が reject された理由。エラーオブジェクト、文字列、またはその他の値になります。
戻り値(return)
Promise
Promiseインスタンスを返します。このPromiseは、指定された理由で拒否(reject)された状態になります。