js循环批量下载文件,使用window.location.href下载,并不能全部下载

第一个搞批量下载,请问一下,js循环批量下载文件,使用window.location.href下载,并不能全部下载,

 batchDownloadFiles() {

 this.selectData.forEach(item => {

 const para = { networkNo: item };

 batchSRODownload(para).then(res => {

 console.log(res);

 if (res) {

 window.location.href = res.request.responseURL;

 }

 }); 

 });

 },

下载代码如上,但是比如说发了三个下载请求,经常只下载一个,有时又是下载两个,不能全部都下载,但是我看了每个请求的响应的都是可以下载的,单独下载也是没问题的,不知道是什么原因导致的,网上搜了下说这种方法有时可能会中断,不知道是不是这个原因,

后续改进,使用iframe来下载可以避免出现这个问题

 batchDownloadFiles() {

 this.selectData.forEach(item => {

 const para = { networkNo: item };

 batchSRODownload(para).then(res => {

 console.log(res);

 if (res) {

 try {

 var elemIF = document.createElement("iframe");

 elemIF.src = res.request.responseURL;

 elemIF.style.display = "none";

 document.body.appendChild(elemIF);

 } catch (e) {}

 }

 }); 

 });

 },
阅读 9.9k
1 个回答

window.open(url)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题