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

【JavaScript ECMAScript】Promise::Promise.try静的メソッドの使い方

Promise.try()静的メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Promise.try()メソッドは、Promiseオブジェクトが提供する静的メソッドであり、指定された関数を実行し、その結果をPromiseでラップして返すメソッドです。このメソッドの主な目的は、同期的な処理や、既にPromiseを返す可能性のある処理を、常にPromiseチェーンにスムーズに組み込むことです。

具体的には、Promise.try()に渡された関数が正常に実行された場合、その関数の戻り値で解決されるPromiseを返します。もし関数が実行中にエラーをスロー(例外を発生)した場合、そのエラーで拒否されるPromiseを返します。

これにより、同期処理と非同期処理の両方で発生しうるエラーを、一貫してPromiseのcatch()メソッドで処理できるようになります。例えば、通常の関数呼び出しがエラーを投げたとしても、Promise.try()を用いることで、非同期処理と同じようにcatchブロックでエラーを捕捉し、適切なエラーハンドリングを行うことが可能になります。これは、既存の同期的なコードをPromiseベースの非同期フローに統合する際に特に有用であり、エラー処理の一貫性を保つ上で重要な役割を果たします。

公式リファレンス: Promise.try()

構文(syntax)

1Promise.try(() => {
2  // 同期的に実行される処理をここに記述します。
3  // 例: return '成功メッセージ';
4  // 例: if (条件) throw new Error('エラーメッセージ');
5});

引数(parameters)

callback

  • callback: Promise の解決または拒否として扱われる関数。この関数内で発生した同期的なエラーも Promise の拒否として処理されます。

戻り値(return)

Promise

Promise.try() は、指定された関数を実行し、その実行結果を解決値とする新しい Promise を返します。関数が例外を投げた場合は、その例外を拒否値とする Promise を返します。

関連コンテンツ