0
を終了する前に解決するための約束を待っていない:約束チェーン、私は少しこれらを下に簡素化しようとした
passData.savedDBGames.forEach((gameInfo) => {
return new Promise((resolve, reject) => {
stats.getPlayersStats(gameInfo.fixtureID).then((playerStats) => {
playerStatsPromise.push(playerStats);
console.info('Grab Done');
resolve();
});
});
});
Promise.all(playerStatsPromise)
.then(function() {
console.info('All Done');
app.io.emit('admin', 'Admin: done');
resolve(passData);
});
私の理解へplayerStatsPromise
に含まれる約束の全てが解決するまでPromise.all
は待つべき?
なぜAll Done
はGrab Done
より前に終了しますか?
であることが約束を返しますので、その代わりに、あなたのアレイを構築するために
map
を使用'? – trincotあなたのコードは意味をなさない。 'forEach'は特に副作用を引き起こすことを意図していますが、内部で新しいPromiseを返しています。 – aaaaaa
'data2'はより大きな約束からのものでした。 @aaaaaa私はプロンプトが返されるように強制しようとしました。それは私が実験していることです。 –