ES6での新しいPromiseの役割は何ですか?
ES6では、新しいPromiseオブジェクトを作成するためにnew Promise()が使用されます。
Promiseは非同期操作を処理するための一つの方法であり、非同期操作をPromiseオブジェクトにカプセル化し、そのオブジェクトを使って操作や処理を行うことができます。Promiseを使うことで、非同期操作の成功、失敗、状態変化をより簡単に処理することができます。
Promise()のコンストラクタは、2つのパラメータを持つ関数を引数として受け取ります。その関数内で非同期操作を実行し、その結果に応じてresolveまたはrejectを呼び出して、Promiseオブジェクトの状態を変更することができます。
- 異步操作が成功したら、resolve関数を呼び出してPromiseオブジェクトの状態をfulfilledに変更し、操作結果を引数として渡します。
- 非同期操作が失敗したりエラーが発生した場合は、reject関数を呼び出してPromiseオブジェクトの状態をrejectedに変更し、エラーメッセージやエラーオブジェクトをパラメーターとして渡すことができます。
new Promise()で作成されたPromiseオブジェクトは、成功や失敗の処理に.then()および.catch()メソッドを使用することができます。
- .then()メソッドは、Promiseオブジェクトの状態がfulfilledになったときに、指定したコールバック関数を呼び出し、その結果を引数として渡す。
- .catch()メソッドは、コールバック関数を受け取ります。Promiseオブジェクトの状態がrejectedになったときに、そのコールバック関数が呼び出され、エラーメッセージやエラーオブジェクトがコールバック関数に渡されます。
Promiseを使用すると、非同期操作の結果をより明確に処理でき、連鎖的に.then()メソッドを呼び出すことで複数の非同期操作を順番に実行できます。