Ich muss mit Werten aus DB-Array füllen und erst dann zurückkehren, so wie kann ich diese Synchron machenSynchrone DB fordert Knoten JS ORM
var convs = Array;
User.find({token: token}).first(function(err, user) {
ConversationData.find({user_id: 1}).each().forEach(function(convData) {
ConversationData.count({conversation_id: convData.conversation_id}, function(err, count) {
if(count == 2) {
var user2;
console.log(convData.user_id);
ConversationData.find({user_id: 2, conversation_id: convData.conversation_id}).first(function(err, usr) {
user2 = usr;
});
Message.find({conversation: convData.conversation_id}, [ "createdAt", "Z" ]).first(function(err, msg){
convs[convData.id].conversation = convData.id;
convs[convData.id].lastMessage = msg.content;
convs[convData.id].lastMessageDate = msg.createdAt;
convs[convData.id].title = user2.name + " " + user2.name;
convs[convData.id].avatar = user2.avatar;
});
} else {
console.log('COUNT = ' + count);
}
});
});
console.log(convs);
node.js funktioniert nicht so. Wenn Sie etwas suchen möchten, das synchron aussieht, verwenden Sie Generatoren, eine Sprache, die zu asynchronem JavaScript kompiliert wird, oder etwas Ähnliches. Einer der großen Vorteile von Knoten ist, dass I/O asynchron ist. – mscdex