私は約束したように使用しましたが、まだ私はconsole.logの配列を使用できるという問題があります。ここノードjをどのように同期させることができますか?
は私がやったことです:
exports.getData = function(request, response) {
userEmail = request.body.user;
function delay(ms){ // takes amount of milliseconds
return new Promise(function(resolve, reject){
setTimeout(function(){ // when the time is up
resolve(); // change the promise to the fulfilled state
}, ms);
});
}
Wish.find({userEmail}).exec(function(err, docs) {
//console.log("docs "+docs);
var wishArray = new Array();
for (var i=0; i<docs.length; i++) {
if (docs[i].sub=='party') {
var id = docs[i].num;
delay(100).then(function(){
Party.find({id}).exec(function(err, details) {
console.log("5");
wishArray.push(details);
});
});
}
}
});
delay(700).then(function(){
console.log(wishArray);
});
}
私は大きな第2遅延の数を作る試みたが、それは動作しませんでした。 どうすればいいですか?
あなたは2つの 'console.log(wishArray);を持っています最初のものは正しく動作します – Iceman
2番目のものは正常に動作していません私は配列が空でないことを確認できます... – user3488862