Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
119
119
121
17.4
119
17.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
const { promise, resolve, reject } = Promise.withResolvers();

// Resolve from an event handler
button.addEventListener('click', () => resolve('clicked'));
setTimeout(() => reject(new Error('timeout')), 5000);

const result = await promise;

ライブデモ

Promise.withResolvers

Promise 1 row in create. with part from resolve / reject.

プレビュー全画面表示

traditional. side notation and. comparison

Promise constrakta. middle in resolve getoutbetween that abbreviate.

プレビュー全画面表示

Usage with Eventmove.

buttonclickequal. partevent Promise ization.

プレビュー全画面表示

実務での使いどころ

  • Promise.withResolvers() の活用

    Promise.withResolvers() 静的メソッドは、新しい Promise オブジェクトと、Promise() コンストラクターの実行子に渡す 2 つの引数に対応する、解決または拒否の 2 つの関数を含むオブジェクトを返します。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。