Si j'ai quelque chose comme ça :
<-- language : lang-javascript -->
console.clear();
// noprotect
const fetchSomething = () => new Promise((resolve) => {
setTimeout(() => resolve('future value'), 500);
});
async function asyncFunction() {
const result = await fetchSomething();
console.log('waiting');
setTimeout(()=>console.log('waiting?'), 250);
return result + ' 2';
}
asyncFunction().then(result => console.log(result));
Et mon résultat ressemble à ceci :
"waiting"
"future value 2"
"waiting?"
Je m'attends à ce que la waiting?
à exécuter avant que le résultat ne soit terminé, mais pour une raison quelconque, il attend la fonction. Qu'est-ce qui fait que l'une attend et que l'autre s'exécute ?