💻 Programmation · Concepts
Asynchrone : promesses et async/await
Certaines opérations (réseau, disque, base de données) prennent du temps. Plutôt que de bloquer le programme, on les lance et on reprend quand elles sont finies : c'est l'asynchrone.
async function profil(id) {
const rep = await fetch(`/api/users/${id}`); // attend sans bloquer
return rep.json();
}Callbacks, promesses, async/await
Trois générations d'écriture. Une Promise représente une valeur future (en attente, tenue ou rejetée). await attend une promesse à l'intérieur d'une fonction async.
La boucle d'événements
Node.js exécute le code sur un seul fil et enchaîne les tâches pendant les attentes. Un calcul lourd et synchrone bloque tout : le bot ne répond plus pendant ce temps.
Gérer les erreurs
try { await … } catch (e) { … }. Une promesse rejetée et jamais traitée peut faire planter le processus : garde toujours un catch.
En parallèle ou à la suite ?
Deux await successifs s'exécutent l'un après l'autre. await Promise.all([a(), b()]) les lance en même temps.
Sur Discord
Presque tout est asynchrone (interaction.reply, message.delete…). Oublier un await fait passer une erreur inaperçue ou mélange l'ordre des actions.
await dans une fonction async, try/catch pour les erreurs, Promise.all pour paralléliser.
Teste-toi
En JavaScript, que fait `await` ?
- Il bloque tout le programme
- Il attend une promesse sans bloquer le reste
- Il crée un nouveau thread
- Il ignore les erreurs
Réponse : B. Il attend une promesse sans bloquer le reste
await met la fonction async en pause jusqu'à la fin de la promesse, pendant que Node.js traite autre chose.
Plus de questions dans Discord avec /qcm matiere:dev.
Pour aller plus loin
Fiche mise à jour le 6 novembre 2026. Une erreur, une précision à proposer ? Écris-nous.