JavaScriptのPromiseの返り値へのアクセス方法


まず、Promiseを作成する方法を見てみましょう。

const myPromise = new Promise((resolve, reject) => {
  // 非同期の処理を実行する
  // 処理が成功した場合はresolveを呼び出し、結果を渡す
  // 処理が失敗した場合はrejectを呼び出し、エラーを渡す
});

Promiseを作成するときには、非同期の処理を実行するコールバック関数を渡します。処理が成功した場合はresolve関数を呼び出し、結果を渡します。処理が失敗した場合はreject関数を呼び出し、エラーを渡します。

次に、Promiseの結果にアクセスする方法を見てみましょう。

  1. thenメソッドを使用する方法

    myPromise.then(result => {
    // Promiseの処理が成功した場合のコールバック関数
    // resultにはresolveで渡された結果が含まれる
    }).catch(error => {
    // Promiseの処理が失敗した場合のコールバック関数
    // errorにはrejectで渡されたエラーが含まれる
    });

    thenメソッドを使用して、Promiseが成功した場合と失敗した場合のそれぞれに対応するコールバック関数を指定できます。成功した場合のコールバック関数では、result引数にresolveで渡された結果が含まれます。失敗した場合のコールバック関数では、error引数にrejectで渡されたエラーが含まれます。

  2. awaitキーワードを使用する方法

    async function myAsyncFunction() {
    try {
    const result = await myPromise;
    // Promiseの処理が成功した場合のコード
    // resultにはresolveで渡された結果が含まれる
    } catch (error) {
    // Promiseの処理が失敗した場合のコード
    // errorにはrejectで渡されたエラーが含まれる
    }
    }

    awaitキーワードを使用すると、Promiseの結果を直接取得できます。awaitキーワードはasync関数内でのみ使用できます。awaitキーワードの後にPromiseを記述すると、そのPromiseが完了するまで処理が一時停止し、結果を受け取ります。成功した場合はresult変数に結果が格納され、失敗した場合はcatchブロック内でエラーがキャッチされます。

これらの方法を利用することで、Promiseの返り値へ簡単にアクセスできます。適切な方法を選択することで、非同期処理の結果を効果的に取得し、処理を制御することができます。