incompréhension await et Promise
Bonjour.
Je travaille sur un bot Discord avec discord.js, et ce dernier utilise les Promises.
Je découvre donc les mots-clés await et async, et j'ai écrit ce code (log() étant un wrapper de console.log()) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function registerGuild(guild) {
let Promise1 = guild.members.fetch(userId);
let Promise2 = guild.roles.fetch();
log(1);
let promiseExecution = async () => {
log(3);
let promise = await Promise.all([Promise1, Promise2]);
log(4);
return promise;
}
log(2);
promiseExecution()
.then(data => {/**/})
.catch(console.error);
log(5);
} |
Je m'attends à voir 1 2 3 4 5, mais je vois 1 2 3 5. Et effectivement c'est comme si la fonction s'arrête subitement à la ligne 8. Pourtant le log(5) est bien executé.
Je dois rater quelque chose mais je comprends pas.