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

174
Vistas
cascada asíncrona y promesa

Estoy usando una cascada asíncrona para procesar la condición anidada en la solicitud y usando un marco expreso. Pero estoy confundido sobre cómo procesar datos para la siguiente función en cascada mientras los datos son <promise> . Estos datos de promesa son una consulta de sequalize.

Aquí está el boceto

 exports.getanythinghere = async function() { var query = "SELECT anything, here " + "FROM anywhere WHERE ignore this query"; return new Promise((resolve, reject) => { db.sequelize.query(query , { type: QueryTypes.SELECT }).then(wth => { resolve(wth); }) }); } async.waterfall([ function(callback) { const trying = getanythinghere (); callback(null, trying); }, function(dataone, callbackt) { console.log("dataone is ", dataone); } ], function(err, res) { if (err) return callback(err); callback(null, res); });//waterfall

Hay dataone siempre es dataone is Promise { <pending> }

Lo que me estoy perdiendo aquí. En jquery , haré getanythinghere().done(function(){});

Pero quiero tenerlo en esta devolución de llamada de cascada.

Solía hacer esto hace unos años, pero lo olvidé demasiado con java y php

Cualquier ayuda por favor..

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ya no necesita bibliotecas como Async, principalmente porque Javascript ahora admite async/await de forma nativa.

Primero, esta es una Promesa, porque puedes agregarla .then() :

 db.sequelize.query(query , {type: QueryTypes.SELECT});

Dado que es una Promesa, no necesita (y no debe) envolverla dentro de otra Promesa, y también puede simplemente esperarla, en lugar de usar .then()

 const trying = await db.sequelize.query(query , {type: QueryTypes.SELECT});

El uso de await o .then() resuelve la promesa y obtiene un valor, en lugar de Promise { <pending> } .

Luego, puede usar trying directamente, no necesita pasarlo a otra función como una cascada.

 console.log("trying is ", trying);

Finalmente, todo su código se contiene en cuatro líneas:

 try{ const query = `SELECT anything, here FROM anywhere WHERE ignore this query`; const trying = await db.sequelize.query(query , {type: QueryTypes.SELECT}); console.log("trying is ", trying); } catch(err) { console.log(err); }
about 4 years ago · Juan Pablo Isaza 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