Async: v3.0 et eachSeries async/wait

Créé le 25 mai 2019  ·  3Commentaires  ·  Source: caolan/async

Hey,

La v3.0 n'apporte pas encore de support async/attente pour chaque série ? Existe-t-il une liste complète des fonctions asynchrones qui prennent désormais en charge Promise ?

Attendu avec cette mise à jour :

async.eachSeries(items, async (item, callback) => {
            const itemStats = await someFunc(item);
           callback();
});

En cours d'utilisation :

async.eachSeries(items, (item, callback) => {
         (async () => {
            const itemStats = await someFunc(item);
            callback();
          })();
});
question

Commentaire le plus utile

La façon idiomatique de gérer cela avec async / await serait :

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

Tous les 3 commentaires

Async ne transmet pas de rappels aux fonctions async . Simplement return !

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);
});

Désolé, ma question n'était pas très bonne.

Sans callback(), je ne suis pas en mesure de gérer l'erreur après :

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');

}, (err) => {
       if(err) return res.status(500);

       return res.status(200).json({success: true})
});

Cela ne fonctionnera pas sans rappel ou ?

La façon idiomatique de gérer cela avec async / await serait :

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

Cette page vous a été utile?
0 / 5 - 0 notes