await
const result = await promise
Hält die async-Funktion an, bis das Promise abgeschlossen ist, und gibt seinen Wert zurück. Ein abgelehntes Promise wirft einen Fehler, den man mit try...catch abfangen kann.
Rückgabewert
Der Wert des erfüllten Promise (bei einem anderen Wert dieser Wert selbst).
Beispiele
const wait = (ms, value) => new Promise((done) => setTimeout(() => done(value), ms));
const fail = (ms, message) => new Promise((_, reject) => setTimeout(() => reject(new Error(message)), ms));
const data = await wait(10, { id: 1 });
console.log(data, await 42);
try {
await fail(10, 'vom Server abgelehnt');
} catch (e) {
console.log('abgefangen:', e.message);
}
const results = [];
for (const ms of [30, 10, 20]) results.push(await wait(ms, ms));
console.log(results);
Ausgabe:
{ id: 1 } 42
abgefangen: vom Server abgelehnt
[ 30, 10, 20 ]
Worauf Sie achten sollten
- Außerhalb einer async-Funktion funktioniert
awaitnur auf der obersten Ebene eines Moduls (<script type="module">, Dateien.mjs) und in der Browserkonsole. In einem gewöhnlichen Skript ist es ein Syntaxfehler. - Await hält nur die eigene Funktion an, nicht die ganze Seite – anderer Code und Events laufen weiter.
Browserunterstützung
Baseline – weithin verfügbar: in allen gängigen Browsern seit März 2017, gilt als weithin verfügbar seit September 2019. Ab Version: Chrome 55, Firefox 52, Safari 10.1; Node.js 7.6.0. Stand: Oktober 2026 (MDN browser-compat-data).