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);
});
据我了解Promise.all
应该等到所有包含在playerStatsPromise
的承诺已经解决?
那么为什么All Done
在Grab Done
之前完成?
什么是'数据2 '? – trincot
你的代码没有意义。特别是'forEach'是为了引起副作用,但是你要在它内部返回一个新的Promise。 – aaaaaa
'data2'来自更大的承诺链。 @aaaaaa我做到了这一点,试图强制承诺退还,这只是我试验。 –