Promise.withResolvers()

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

Erstellt ein Promise und gibt es zusammen mit den Funktionen resolve und reject zurück. Das passt, wenn das Promise von Code an einer anderen Stelle aufgelöst wird – zum Beispiel von einem Event-Handler oder einer Bestätigung durch den Benutzer.

Rückgabewert

Ein Objekt { promise, resolve, reject }.

Beispiele

const { promise, resolve } = Promise.withResolvers();
setTimeout(() => resolve('der Benutzer hat bestätigt'), 30);
console.log(await promise);
function processing() {
  let done;
  const p = new Promise((r) => { done = r; });
  return { p, done };
}
const x = processing();
x.done('die ältere Form funktioniert genauso');
console.log(await x.p);

Ausgabe:

der Benutzer hat bestätigt
die ältere Form funktioniert genauso

Worauf Sie achten sollten

  • Es ist eine neuere Methode (2024) – ältere Browser brauchen die Form mit new Promise (der zweite Teil des Beispiels).

Browserunterstützung

Baseline – weithin verfügbar: in allen gängigen Browsern seit März 2024, gilt als weithin verfügbar seit September 2026. Ab Version: Chrome 119, Firefox 121, Safari 17.4; Node.js 22.0.0. Stand: Oktober 2026 (MDN browser-compat-data).

Siehe auch:
Promise
await