Async: v3.0 e cada série assíncrona / espera

Criado em 25 mai. 2019  ·  3Comentários  ·  Fonte: caolan/async

Ei,

v3.0 ainda não traz suporte assíncrono / espera para eachSeries? Existe uma lista completa, quais funções assíncronas agora suportam Promise?

Esperado com esta atualização:

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

Atualmente em uso:

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

Comentários muito úteis

A maneira idiomática de lidar com isso com async / await seria:

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})

Todos 3 comentários

Async não passa callbacks para funções async . Simplesmente return !

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

Desculpe, minha pergunta não foi tão boa.

Sem callback (), não consigo lidar com o erro depois de:

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})
});

Isso não funcionará sem retorno de chamada ou?

A maneira idiomática de lidar com isso com async / await seria:

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})

Esta página foi útil?
0 / 5 - 0 avaliações