Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Promise::Promise() constructorコンストラクタの使い方

Promise() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Promise() constructorクラスは、JavaScriptにおいて非同期処理の最終的な完了または失敗、およびその結果の値を表現するPromiseオブジェクトを新しく作成するためのクラスです。

このコンストラクタは、時間のかかる処理、例えばネットワーク通信やファイルの読み込みなどを行う際に、その結果を待つ間に他の処理をブロックすることなく、効率的にプログラムを進めるために利用されます。Promise()コンストラクタは、非同期処理を実行する「エグゼキュータ関数」と呼ばれる関数を唯一の引数として受け取ります。

エグゼキュータ関数自体は、resolverejectという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)

戻り値なし

戻り値はありません

関連コンテンツ