forループが次のループに進むのを待つ方法はありますか?ノードループの結果を待つための約束
userdetailsが実行され、realresult.playernameが渡される前に新しい変数に割り当てられていることを確認するにはどうすればよいですか?
コード:
return new Promise(function (resolve, reject) {
arr = [];
messages.find({convid: convid}).then(function(result) {
for(var a in result) {
realresult = result[a];
userData.userDetails(realresult.userid).then(function (result) {
realresult.playername = result.username;
});
userData.usercashinfo(realresult.userid).then(function (resulttwo) {
realresult.playerdetails = resulttwo;
});
arr.push(realresult);
}
return resolve(arr);
});
});
使用 'Promise.all' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all –
@Daniel_L私は知りませんどのように私はそれを動作させるために私の機能を作り直すだろう – maria
[Javascriptのループの約束]の可能な複製(http://stackoverflow.com/questions/32701957/javascript-for-loop-promises) – Roberrrt