Ich möchte einen async-Aufruf von meiner getData-Funktion zur getImage-Funktion ausführen, aber ich kann keine Daten von getImage() abrufen, da getData() nicht auf den Abschluss von getImage() wartet. , da getImage() weitere asynchrone db-Aufrufe hat und daher getData() immer undefiniert zurückgibt.Knoten js verschachtelter Async-Aufruf
Was ist der beste Weg dies zu tun, stattdessen verschachtelte Callbacks zu tun?
var getData = function(id){
async.series([
function(callback){
var res = getImages(id);
callback(null, res);
}
],
// optional callback
function(err, results){
if (err) {
console.log("ERROR : " + err);
}else
{
console.log("Result: "+results);
}
});
}
var getImages = function(id){
async.series([
function(callback){
Image.find({id: id }).exec(
function(err, image) {
if (err) {
console.log(err);
callback(err, 0);
}else
{ console.log("Count: "+ image.length);
callback(null, image);
}
});
}
],
// optional callback
function(err, results){
if (err) {
console.log("ERROR : " + err);
}else
{
return results;
}
});
}
getData(1);
Thanks @ buddy123:
Dann von
getData()
, können Sie es in der folgenden Materie nennen. –