Promise.try()
Promise.try() 静的メソッドは、あらゆる種類のコールバック(返す、発生する、同期的、非同期的)を受け取り、その結果を Promise でラップします。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 128 | 128 | 134 | 18.2 | 128 | 18.2 | |
基本構文
JAVASCRIPT
// Both synchronous and asynchronous functions are acceptable
Promise.try(() => {
if (cached) return cachedValue; // Return synchronously
return fetch('/api/data'); // Return a Promise
}).then(result => console.log(result)); ライブデモ
Start a chain from Promise.try
Use Promise.try when available, otherwise fall back to Promise.resolve().then().
JavaScript
出力
「実行」ボタンを押してください
Capture sync exceptions
Normalize thrown synchronous errors into a rejected promise chain.
JavaScript
出力
「実行」ボタンを押してください
Mix sync and async steps
Start from sync setup and continue into asynchronous work without branching.
JavaScript
出力
「実行」ボタンを押してください
実務での使いどころ
-
Promise.try() の活用
Promise.try() 静的メソッドは、あらゆる種類のコールバック(返す、発生する、同期的、非同期的)を受け取り、その結果を Promise でラップします。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。