Page 1 sur 1

Promise, await/async ou callback

Posté : 03 nov. 2019, 17:07
par lionellionel
Bonjour à tous,

Depuis quelques années, je n'ai pas développé en JS et j'ai besoin de reprendre un script tout simple mais il ne exécute pas dans l'ordre.

Le voici :

Code : Tout sélectionner

getNotificationSounds2(serialOrName, idSound, callback)
{
console.log("1");
let result="";
this.getNotificationSounds(serialOrName, (err, res) =>
{
console.log("2");
res.notificationSounds.forEach(function(item, index) {
if (item['id'] == idSound) {
result=item;
console.log("3");
}
});
});
console.log("4");
return result;
}

Je me retrouve avec 1 puis 4 puis 2 puis 3

Je sais c'est l'erreur classique de JS en synchrone / asynchrone et j'imagine que c'est tout simple à changer mais j'ai passé l'après midi a essayer de retrouver comment faire.

Une bonne âme pourrait m'aider ?

Merci

Re: Promise, await/async ou callback

Posté : 04 nov. 2019, 10:04
par webmaster
Bonjour,

Je ne suis pas un expert en promise mais le comportement me parait logique
Le 1 est la première notif (qui doit arriver tout de suite)
Le 4 est la suite du script en synchrone
Les 2 dernières notifications arrivent à la suite l'une de l'autre

Quel est le comportement attendu ?