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

Siehe auch:
async function
Promise
try...catch
Promise.all()