JavaScriptにおけるPromiseの使用方法


  1. Promiseの基本的な使い方: Promiseはnewキーワードを使用して作成されます。以下は、非同期なデータの取得をシミュレートする例です。
const fetchData = new Promise((resolve, reject) => {
  setTimeout(() => {
    const data = '取得したデータ';
    resolve(data); // データの取得が成功した場合にresolveを呼び出す
    // エラーが発生した場合は、rejectを呼び出すこともできます
  }, 2000);
});
fetchData.then((data) => {
  console.log(data); // 取得したデータを表示する
}).catch((error) => {
  console.log(error); // エラーメッセージを表示する
});
  1. Promiseチェーン: Promiseはチェーン可能なオブジェクトであり、複数の非同期処理を順番に実行することができます。以下は、非同期なデータの取得と処理を順番に行う例です。
const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = '取得したデータ';
      resolve(data);
    }, 2000);
  });
};
const processData = (data) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const processedData = data.toUpperCase();
      resolve(processedData);
    }, 1000);
  });
};
fetchData()
  .then(processData)
  .then((result) => {
    console.log(result); // 処理されたデータを表示する
  })
  .catch((error) => {
    console.log(error);
  });
  1. 複数のPromiseの同時実行: Promise.allメソッドを使用すると、複数の非同期処理を同時に実行し、全ての処理が完了した時点で結果を取得することができます。以下は、複数の非同期なデータの取得と処理を同時に行う例です。
const fetchData = (url) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = `取得したデータ: ${url}`;
      resolve(data);
    }, Math.random() * 2000);
  });
};
const urls = ['https://example.com/data1', 'https://example.com/data2', 'https://example.com/data3'];
const promises = urls.map((url) => fetchData(url));
Promise.all(promises)
  .then((results) => {
    console.log(results); // 取得したデータの配列を表示する
  })
  .catch((error) => {
    console.log(error);
  });

これらのコード例を参考にすることで、JavaScriptにおけるPromiseの使用方法とその応用について理解を深めることができます。非同期処理を行う際には、Promiseを活用して効果的なコードを書くことが重要です。