Retour à la leçonMission
Mission : prédire l'ordre exact des logs avant de lancer le debugger
Tracer précisément l'ordre d'exécution d'un mélange de code synchrone, setTimeout, Promises et await, sans exécuter le code.
Contexte
Un développeur de Technologik ne comprend pas pourquoi son log "chargement terminé" (placé dans un setTimeout(fn, 0)) apparaît toujours après "données reçues" (résultat d'une Promise déjà résolue), alors que le setTimeout est écrit avant dans le fichier. Avant de lui répondre, tu dois être capable de tracer mentalement, sans l'exécuter, l'ordre exact d'affichage du code suivant :
js
console.log("1");
setTimeout(() => console.log("2"), 0);
Promise.resolve().then(() => console.log("3"));
async function f() {
console.log("4");
await null;
console.log("5");
}
f();
console.log("6");