/ / Node JS - Async - Odpoveď sa odošle počas vykonávania dotazov - javascript, node.js

Uzol JS - Async - Odoslanie sa uskutočňuje počas vykonávania dopytu - javascript, node.js

Používam nasledujúcu časť kódu na vykonanie určitej množiny dotazov a na odoslanie odpovede na vykonanie niektorých overení výsledkov dotazu. Pre tento scenár používam asynchronný modul v 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) funkcia sa používa na vykonávanie niekoľkých dotazov db2.

Tu mám problém, aj keď používam asynchrónny modul,odpoveď sa odošle klientovi počas prebiehajúceho vykonávania dotazu. Podľa môjho chápania asynchronného modulu sa druhá funkcia v poli vykoná po vykonaní prvej funkcie s jej úlohou.

Môže mi s tým niekto pomôcť? Vopred ďakujem.

odpovede:

1 pre odpoveď č. 1

Vyzerá ako common.commonValidations(db) je asynchrónna funkcia, ale nečakáte na jej dokončenie. voláš callback() funkcia pred odpoveďou na commonValidations sa vráti.

jedna možná zmena by mohla byť ako

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