Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

87
Vistas
Transformar async.parallel a async.auto

Tengo un async.parallel con 2 funciones, y ahora necesito transformarme en async.auto o async.waterfall porque necesito pasar un valor de la primera función a la segunda.

Ambas funciones devuelven una matriz. En la segunda función, el parámetro timeAdjust tendrá el valor de array1.timeAdjust

¿Alguien puede ayudarme?

El código:

 router.get('/:machineID', function(req, res, next) { var machineID = req.params.machineID; async.parallel({ one: function(callback){ auxPrinters.function1(machineID, 'ent', function(array1){ callback(null, array1); }); }, two: function(callback){ auxPrinters.function2(machineID, 'ent', timeAdjust, function(array2){ callback(null, array2); }); }, }, function(err, results){ //results.one=array1 & results.two=array2 if(err) {console.log("****** ERROR:"); console.log(err);} else{ console.dir(results); res.render('jobs', {title: 'Job Info', results}); } }); });
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

aquí está su respuesta, pero antes de eso, es extraño para mí que quiera escribir array1.timeAdjust si array es una matriz, así que creeré que array1 es un objeto

 router.get('/:machineID', function(req, res, next) { var machineID = req.params.machineID; async.waterfall([ function(callback){ auxPrinters.function1(machineID, 'ent', function(array1){ callback(null, array1); }); }, function(array1, callback){ var result = {} result.one = array1 timeAdjust = array1.timeAdjust auxPrinters.function2(machineID, 'ent', timeAdjust, function(array2){ result.two = array1 callback(null, result); }); }, ], function(err, results){ //results.one=array1 & results.two=array2 if(err) {console.log("****** ERROR:"); console.log(err);} else{ console.dir(results); res.render('jobs', {title: 'Job Info', results}); } }); });

como puede ver, no pasé array.timeAdjust sino el array1 completo ya que desea array1 y array2 en la devolución de llamada final

over 4 years ago · Santiago Trujillo Denunciar

0

Solución final:

 async.waterfall([ function(callback){ console.log("****** ASYNC JOBS 1"); auxPrinters.function1(machineID, 'ent', function(array1){ callback(null, array1); }); }, function(array1, callback){ console.log("****** ASYNC JOBS 2"); auxPrinters.function2(machineID, 'ent', array1, function(array2){ callback(null, array1, array2); }); }, ], function(err, array1, array2){ if(err) {console.log("****** ERROR ASYNC:"); console.log(err);} else{ res.render('jobs', {title: 'Job Info', array1, array2}); } });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda