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();
})();
});
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})
Comentários muito úteis
A maneira idiomática de lidar com isso com
async
/await
seria: