IT-lexikon › Web › Top-level await

Top-level await

Web In English → Uppdaterad: 2026-05-30

Möjligheten att använda await direkt på toppnivå i en ES-modul, utan att behöva linda in det i en async-funktion. Modulen "pausar" tills awaiten är klar, och moduler som importerar den väntar in den — användbart för asynkron initiering.

Problem förr: await fick bara användas inuti async-funktioner, så asynkron initiering på modulnivå krävde fula omvägar (en självanropande async-funktion, eller att exportera ett promise). Top-level await (ES2022, i moduler) låter dig skriva const db = await openDatabase() direkt i modulen. Mekanik: modulen blir "asynkron" — dess exekvering pausar vid awaiten, och alla moduler som importerar den väntar tills den är klar innan de kör → en ren ordning för asynkrona beroenden. Use case: initiera en databasanslutning, ladda en konfiguration eller en WASM-modul, eller välja ett beroende dynamiskt, innan modulens exports är redo. Varning: det fördröjer alla beroende moduler, så använd det medvetet (kan sakta ned uppstart om det missbrukas). Bara i ES-moduler, inte CommonJS. Hör ihop med ES-moduler i webbläsaren och dynamic import.

← Tillbaka till lexikonet