Ich verwende node.js und mongoDB mit provents.js. Ich muss eine async Methode in der Versprechungsvariablen aufrufen, aber ich kann nicht eine andere als(). Weil es in der Schleife ist. der Code ist wie:Wie kann ich Async-Methode wie eine Synch-Methode aufrufen?
collection1.find({'key': 'value'})
.then(function(matches){
//loop starts
matches.forEach(function(match){
var currentUser = collection2.find({"_id" : match._user})
console.log(currentUser); //undefined
})
})
Wie Sie sehen können, ist currentUser eine undefinierte Variable. Wie kann ich das beheben?
sollte ein Versprechen nicht current sein? –
Auch, wäre es nicht besser, eine Liste von IDs zu sammeln, die Sie ziehen möchten, und alle auf einmal zu ziehen? –
(das würde zufällig lösen Sie Ihr Problem und leistungsfähiger sein) –