So, hier ist der Deal finden:kann keine einfache Möglichkeit, aus mehreren async für jeden Knoten js (Segel)
Ich habe ein Array von Objekten mit einem Kind Array von Objekten
askedAdvices
askedAdvice.replayAdvices
I sind Schleifen des Eltern und foreach Schleife Trog den childs Trog und() zwei obejcts (ich bin mit Segeln) bevölkern müssen
Das Kind sieht aus wie:
askedAdvices = {
replayAdvices : [{
bookEnd : "<ID>",
user : "<ID>"
}]
}
Also mein Ziel ist es, bookEnd und Benutzer mit zwei findOne Abfragen zu radeln und zu bevölkern, aber ich werde verrückt nach der Callback-Hölle. Hier ist das Model Code:
AskedAdvices Modell
module.exports = {
schema : false,
attributes: {
bookStart : {
model : 'book'
},
replayAdvices : {
collection: 'replybookend'
},
user : {
model : 'user',
required : true
},
text : {
type : "text"
}
}
};
ReplyBookEnd Modell
module.exports = {
schema : false,
attributes: {
bookEnd : {
model : 'book'
},
user : {
model : 'user',
required : true
},
text : {
type : "text"
}
}
};
Hier ist die Methode Code:
getAskedAdvices : function(req, res) {
var queryAskedAdvices = AskedAdvices.find()
.populate("replayAdvices")
.populate("user")
.populate("bookStart")
queryAskedAdvices.exec(function callBack(err,askedAdvices){
if (!err) {
askedAdvices.forEach(function(askedAdvice, i){
askedAdvice.replayAdvices.forEach(function(reply, i){
async.parallel([
function(callback) {
var queryBook = Book.findOne(reply.bookEnd);
queryBook.exec(function callBack(err,bookEndFound) {
if (!err) {
reply.bookEnd = bookEndFound;
callback();
}
})
},
function(callback) {
var queryUser = User.findOne(reply.user)
queryUser.exec(function callBack(err,userFound){
if (!err) {
reply.user = userFound;
callback();
}
})
}
], function(err){
if (err) return next(err);
return res.json(200, reply);
})
})
})
} else {
return res.json(401, {err:err})
}
})
}
ich die Asynchron-Bibliothek verwenden kann, aber Anregungen brauche
Danke Leute!
können Sie einen Code ???? – vkstack
@vkstack ja, zurück zu diesem so schnell wie möglich – Asso
@vkstack aktualisiert – Asso