Top-level Await
JavaScript 🟡 MidDéfinition
Permet d'utiliser await directement au niveau module (ESM) sans wrapper async. Le module devient asynchrone et les modules qui l'importent attendent sa résolution.
Analogie
Pouvoir commander directement au drive-in sans devoir d'abord entrer dans le restaurant (la fonction async).
Exemple de code
// config.mjs (ESM)
const res = await fetch('/config.json');
export const config = await res.json();
// app.mjs
import { config } from './config.mjs';
// config est deja resolue ici
Cas d'usage
Charger une configuration ou initialiser une connexion BD au démarrage d'un module ESM.
Anti-pattern
L'utiliser dans un module importe par beaucoup d'autres : ca bloque le chargement de tous les dépendants.