Async: v3.0 y eachSeries async / await

Creado en 25 may. 2019  ·  3Comentarios  ·  Fuente: caolan/async

Oye,

¿La v3.0 todavía no ofrece soporte asincrónico / en espera para cada serie? ¿Existe una lista completa, qué funciones asíncronas ahora son compatibles con Promise?

Esperado con esta actualización:

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

Actualmente en uso:

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

Comentario más útil

La forma idiomática de manejar esto con async / await sería:

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 comentarios

Async no pasa devoluciones de llamada a las funciones async . ¡Simplemente return !

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

Lo siento, mi pregunta no fue tan buena.

Sin devolución de llamada () no puedo manejar el error después 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})
});

¿Esto no funcionará sin devolución de llamada o?

La forma idiomática de manejar esto con async / await sería:

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

¿Fue útil esta página
0 / 5 - 0 calificaciones