0
"getUsernameById"がループ内でジョブを完了する前に "then"が起動するという問題があります。ループ内でオブジェクトを非同期に変更してから変更したオブジェクトを返す
var dummyObject = {
choices: [
{
votes: [
"1234",
"2143",
"4321"
]
}
]
};
Promise.each(dummyObject.choices, function(choice, i) {
dummyObject.choices[i].test = "test"; // this gets changed before 'then'
Promise.each(choice.votes, function(vote, j) {
getUsernameById(vote).then(function(username) {
dummyObject.choices[i].votes[j] = username; // this gets changed after 'then'
});
});
}).then(function() {
res.json(dummyObject);
});
これもできますか?
'Promise.each'を提供するいくつかの約束ライブラリを使用している場合は、質問に名前を付けてください。ところで、あなたはここで、またはそこに 'リターン'を見逃していないと確信していますか? –