我正在努力做我认为’这将是一项简单的任务.当用户单击按钮时,我有一系列URL,我想循环并下载到客户端计算机上.
现在我有一个父组件,其中包含按钮和一个url(状态)数组,我想循环并下载.出于某种原因,我现在这样做只会下载其中一个文件,而不是下载数组的所有内容.
知道怎么在React中正确地做到这一点?
handleDownload(event){
var downloadUrls = this.state.downloadUrls;
downloadUrls.forEach(function (value) {
console.log('yo '+value)
const response = {
file: value,
};
window.location.href = response.file;
})
}
最佳答案 我会使用setTimeout在下载每个文件之间稍等一下.
handleDownload(event){
var downloadUrls = this.state.downloadUrls.slice();
downloadUrls.forEach(function (value, idx) {
const response = {
file: value,
};
setTimeout(() => {
window.location.href = response.file;
}, idx * 100)
})
}
在Chrome中,这也会提示要求下载多个文件的权限.