当前位置: 首页 > news >正文

vue前端 多次同步请求一个等一个下载

sleep(ms) {return new Promise(resolve => setTimeout(resolve, ms));
},
/** 导出按钮操作 */handleExport() {if (this.ids.length === 0) {this.$message.warning("请至少选择一条记录进行导出");return;}this.$confirm('是否确认导出所选交接记录?', "警告", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning"}).then(async () => {try {this.$message.info("正在导出...")for (const id of this.ids) {await this.sleep(1000)await exportTxJjjlExcel(id).then(response => {this.download(response,id);});}this.$message.success('导出完成');} catch (error) {this.$message.error(`导出失败: ${error.message}`);} finally {}});
},// 下载文件
download(res,id) {// 检查响应是否为JSON格式的错误信息let find = this.jjjlList.find((e)=>e.ID==id);console.log("res",res)if (res.type === 'application/json') {// 读取JSON错误信息const reader = new FileReader();reader.onload = e => {try {const errorInfo = JSON.parse(e.target.result);this.$message.error(`导出失败: ${errorInfo.msg || '未知错误'}`);} catch (error) {this.$message.error('导出失败,请联系管理员');}};reader.readAsText(res);return;}// 正常处理Excel文件下载const blob = new Blob([res], { type: 'application/vnd.ms-excel' });const link = document.createElement('a');link.href = URL.createObjectURL(blob);link.download = `${this.parseTime(find.JBRQ,'{y}-{m}-{d}')}_${find.JBBYB}_${new Date().getTime()}.xlsx`;link.click();URL.revokeObjectURL(link.href);
}

相关文章:

  • 10.vue.js中封装axioa(3)
  • spring的webclient与vertx的webclient的比较
  • 机器学习——XGBoost
  • Python Einops库:深度学习中的张量操作革命
  • 深度强化学习驱动的智能爬取策略优化:基于网页结构特征的状态表示方法
  • Multi Agents Collaboration OS:Web DeepSearch System
  • delphi7 链表 使用方法
  • 数数科技正式加入上海市人工智能协会,共筑DATA×AI新基建
  • 实数域上的二分
  • UE Learning Record
  • k8S 命令
  • React Navive初识
  • 优化Docker容器化安装与配置的最佳实践
  • Golang面试精解:实现并发安全带过期清理的缓存结构
  • 极限复习c++
  • Spring Plugin框架应用实践:医院多租户客户端动态路由方案解析
  • 【地址区间划分】
  • 【科研绘图系列】R语言绘制和弦图(Chord diagram plot)
  • 如何通过requests和time模块限制爬虫请求速率?
  • MATLAB读取文件内容:Excel、CSV和TXT文件解析
  • 商用自适应网站建设/贵阳seo网站推广
  • wordpress缩略图代码/兰州快速seo整站优化招商
  • 优秀政府门户网站/谷歌应用商店
  • 市场营销咨询/360优化大师历史版本
  • 网站备案证书下载不了/品牌推广方案怎么写
  • 南昌网站建设开发团队/如何创造一个自己的网站