マルチプロミスを解決する正しい方法は何ですか?鎖か.mapか?JS:この約束事を解決するには?
let promises = [];
// data is a binary zip file
JSZip.loadAsync(data).then((zip) => {
for (let filename in zip.files) {
zip.files[filename].async("blob")
// ********** Problem! **********
// because of the following .then, the promises.push is deferred
// and so the next .then is run immediately
.then((fileData) => {
promises.push(this.file.writeFile(...));
})
}
return Promise.all(promises);
}).then(() => {
...
を与えるかもしれませんか? – marekful
自分のコードを編集しました(追加するのを忘れた)。それは問題を解決するものではありません。 – GuyC
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all – Chidambaram