Ich verwende node.js und async mit sails.js framework. Ich versuche, eine Funktion zu erstellen, die einige asynchrone DB-Vorgänge für ein Array von Daten ausführt, aber ich habe Probleme, herauszufinden, auf einfache Weise die Ergebnisse von Async an die übergeordnete Funktion zurückzugeben. Hier ist mein Code:Async in einer anderen Funktion verwenden
convertProductfields: function (articlesFromAurelia){
async.each(articlesFromAurelia, function (post, cb) {
Categories.find({name: post.Categoria})
.then(function(category){
post.cat_id = category[0].cat_id;
cb();
})
.fail(function(error){
cb(error);
})
}, function(error){
if(error) return res.negotiate(error);
sails.log.debug('articlesFromAureliaModified ' , articlesFromAurelia);
return articlesFromAurelia;
});
sails.log.debug('articlesFromAureliaNotModified ' , articlesFromAurelia);
return articlesFromAurelia;
}
Das Problem ist natürlich die Ausführungsreihenfolge des Codes. Meine Funktion wurde bereits zurückgegeben, wenn die Ergebnisse von Async-Vorgängen verfügbar sind .... also, wie funktioniert es? Vielen Dank!!
entfernen letzten beiden Zeilen. und Callback an 'convertProductfields' übergeben –