以下是您如何做到这一点的示例。
基本上,对于每个网址 imagesList ,你生产一个 Promise 。 你把所有这些承诺都放在了 Promise.all ,将在加载所有图像时返回另一个承诺,并且它将按照传入的顺序进行迭代。
imagesList
Promise
Promise.all
var imagesList = ["/img1.jpg", "/img2.jpg", "/img3.jpg"]; Promise.all(imagesList.map(url => { const name = url.substring(name.lastIndexOf('/') + 1); return fetch(url) .then(res => res.blob()) .then(blob => new File([blob], name, blob) }); })).then(results => results.forEach(file => myDropzone1.addFile(file)));
请检查 Promise.all的文档 如果您需要澄清,请随时提问。
希望它会有所帮助;)
我希望这会有所帮助。
function getFile(item) { return new Promise((resolve, reject) =>{ let name = item.substring(item.lastIndexOf('/') + 1); fetch(item) .then(res => res.blob()) .then(blob => { let file = new File([blob], name, blob); resolve(file); }); }) } let imagesList = ["/img1.jpg", "/img2.jpg", "/img3.jpg"]; let promises = imagesList.map(item => getFile(item)); Promise .all(promises) .then(files => { files.forEach(file => myDropzone1.addFile(file)); })