Ich habe versucht, diese ein wenig nach unten zu vereinfachen:Versprechen Kette wartet nicht auf Versprechungen vor lösen endet
Promise.all
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);
});
Zu meinem Verständnis sollte warten, bis alle der in playerStatsPromise
enthaltenen Versprechen gelöst haben?
Warum also All Done
Finish vor Grab Done
?
Was ist 'Daten2 '? – trincot
Ihr Code macht keinen Sinn. 'forEach' soll insbesondere Nebenwirkungen verursachen, jedoch gibt es eine neue Promise. – aaaaaa
'data2' war von der größeren Versprechenskette. @aaaaaa Ich habe das getan, um zu versuchen, ein Versprechen zurückzugeben, das ist nur ich experimentiere. –