/ / Node JS - Async - La respuesta se envía mientras se ejecutan las consultas - javascript, node.js

Nodo JS: Asíncrono: la respuesta se envía mientras se ejecutan las consultas: javascript, node.js

Estoy usando el siguiente código para ejecutar un conjunto de consultas y enviar la respuesta de hacer algunas validaciones en los resultados de la consulta. Para este escenario, estoy usando el módulo asíncrono en Node JS.

async.series([
function(callback){
common.commonValidations(db);
callback();
},
function(callback){
console.log("second function");
res.end(JSON.stringify(gErrors));
callback();
}

], function(err){
console.log("sending res to client");
console.log(err);
});

common.commonValidations(db) La función se utiliza para ejecutar pocas consultas db2.

Aquí mi problema es que, aunque estoy usando un módulo asíncrono,la respuesta se envía al cliente mientras continúa la ejecución de la consulta. Según mi comprensión del módulo asíncrono, la segunda función en la matriz se ejecuta una vez que la primera función se hace con su trabajo.

¿Alguien me puede ayudar en esto? Gracias por adelantado.

Respuestas

1 para la respuesta № 1

Parece common.commonValidations(db) es una función asincrónica, pero no está esperando que se haga. estas llamando callback() funcionar antes de la respuesta para commonValidations Vuelve.

un posible cambio podría ser como

common.commonValidations(db,function(err,data) {
//check error
//process data
//and then
callback()
})