Async: El uso de una AsyncFunction como función iteratee da como resultado que iteratee se pase como indefinido

Creado en 26 sept. 2017  ·  4Comentarios  ·  Fuente: caolan/async

¿Qué versión de async estás usando?
2.5.0

¿En qué entorno ocurrió el problema (versión de nodo / versión del navegador)?
Versión del sistema operativo: OS X 10.12.6
Versión de nodo: 8.4.0
Versión del navegador: N / A

¿Qué hiciste?

// templateNames is an array of strings
async.map(templateNames, async (templateName, next) => {   
  let template;
  try {
    template = await utils.getFile(templateName);
  } catch(err) {
    next(err);
  }
...
// and so on

Qué esperabas que sucediera?
next es una función iterativa

¿Cuál fue el resultado real?
next es undefined


Terminé usando la sintaxis .then().catch() para lograr mi objetivo, pero aún quería compartir eso usando un AsyncFunction ( NOTA: esta no es la definición async sino la AsyncFunction nativa ) da como resultado que el iteratee ( next ) sea del tipo undefined .

docs question

Comentario más útil

async funciones try / catch no es necesario porque Async detectará cualquier error que se produzca. Esto debería simplificar un poco su código.

// templateNames is an array of strings
async.map(templateNames, async templateName => {   
  const template = await utils.getFile(templateName);
...
// and so on

AsyncFunction docs: http://caolan.github.io/async/global.html

Todos 4 comentarios

async funciones try / catch no es necesario porque Async detectará cualquier error que se produzca. Esto debería simplificar un poco su código.

// templateNames is an array of strings
async.map(templateNames, async templateName => {   
  const template = await utils.getFile(templateName);
...
// and so on

AsyncFunction docs: http://caolan.github.io/async/global.html

🤦‍♂️ Leer esa parte de los documentos con más claridad habría sido inteligente. Gracias.

Para ser justos, esa descripción no es tan obvia en el sitio de documentos ... 🙄 📜

De hecho, creo que está bastante claro. Eché un vistazo a los documentos inicialmente y me perdí esa parte.

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