【JavaScript ECMAScript】Promise::Promise() constructorコンストラクタの使い方
Promise() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Promise() constructorクラスは、JavaScriptにおいて非同期処理の最終的な完了または失敗、およびその結果の値を表現するPromiseオブジェクトを新しく作成するためのクラスです。
このコンストラクタは、時間のかかる処理、例えばネットワーク通信やファイルの読み込みなどを行う際に、その結果を待つ間に他の処理をブロックすることなく、効率的にプログラムを進めるために利用されます。Promise()コンストラクタは、非同期処理を実行する「エグゼキュータ関数」と呼ばれる関数を唯一の引数として受け取ります。
エグゼキュータ関数自体は、resolveとrejectという2つの関数を引数として受け取ります。非同期処理が成功し、結果が得られた場合はresolve関数を呼び出し、その結果の値を渡します。一方、非同期処理が失敗したりエラーが発生した場合はreject関数を呼び出し、そのエラー情報を渡します。
新しく作成されたPromiseオブジェクトは、初期状態では「ペンディング」(pending: 待機中)であり、resolveが呼ばれると「フルフィルド」(fulfilled: 成功)、rejectが呼ばれると「リジェクテッド」(rejected: 失敗)という状態に遷移します。これにより、複雑な非同期処理の成功時と失敗時の処理を明確に分離し、より読みやすく保守しやすいコードを記述できるだけでなく、.then()や.catch()といったメソッドを用いて処理をチェーン(連結)することが可能になります。
公式リファレンス: Promise() constructor
構文(syntax)
1new Promise(function(resolve, reject) { 2 3});
引数(parameters)
executor
- executor: Function: Promise の実行関数。resolve と reject の2つの引数を持つ。
戻り値(return)
戻り値なし
戻り値はありません