Sería extremadamente útil que la llamada each () incluyera una matriz de resultados en su devolución de llamada.
Para eso es async.map
.
Hola,
De hecho, el mapa funciona exactamente como lo describiste @aearly.
Aunque en términos de legibilidad del código, estoy de acuerdo con @ pcman312 , sería bueno que cada serie tenga una devolución de llamada (err, resultados).
Esto lo haría consistente con async.series que también tiene una devolución de llamada (err, resultados).
es decir: uno puede querer ejecutar una función para cada elemento en una colección, pero el objetivo de esta función no sería "mapear" valores. (en este caso, eachSeries o cada uno sería mejor legible).
¿Alguna posibilidad de que aún pueda considerar implementarlo de la misma manera que async.series con respecto a los resultados devueltos? Muchas gracias !
No creo que valga la pena considerar esto, ya que esta funcionalidad ya está cubierta al 100% por mapSeries
. Si le preocupan los resultados de sus funciones, entonces está mapeando
series
y mapSeries
también son bastante diferentes ya que series
le proporciona el resultado de su última devolución de llamada, mientras que mapSeries
está mapeando el resultado de cada devolución de llamada en una matriz
@megawac
también son bastante diferentes, ya que la serie le proporciona el resultado de su última devolución de llamada
No, series
también mapea el resultado de cada devolución de llamada.
Vaya, mi mal, lo estaba mezclando con cascada. De todos modos, mi comentario sigue en pie con respecto a mapSeries
Suena bien, no hay problema, probablemente necesite acostumbrarse a la sintaxis :-)
¡Gracias por tu tiempo y por la gran biblioteca en cualquier caso!
each
también es un poco más rápido ya que no tiene que realizar un seguimiento de los resultados.
Me encontré con esto hoy, que creo que es absolutamente brillante ... en caso de que necesites la identificación.
Si hay algo más simple que esto, hágamelo saber.
async.each(Object.keys(arr), function(index, cb) {
console.log('index: ' + index)
var item = arr[index]
console.log(item)
cb()
}, (err, ret) {
console.log('done')
})
Comentario más útil
Para eso es
async.map
.