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).