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

vue Promise 对象 等待所有异步处理完成 再继续处理

1 定义数据集合 用来搜集所有数据

  let promises = [];  // 用来存储所有的 Promise 对象

2 promise对象 异步 返回数据 同时添加数据到promises 列表

// 依次读取列表元素的表
for (let symbol of symbolList) {let promise = new Promise((resolve, reject) => {  // 将请求数据和处理数据的代码封装成 Promise 对象// 异步事务 getRequest.onerror = function (event) {console.log('读取数据出错');reject(event.target.error);};getRequest.onsuccess = function (event) {let data = event.target.result;if (data != undefined) {that.logList.push(`数据获取成功 : ${key}`)let kdataAndmaObj = funcKdataAndMaObj(params.cycle, data)let analysisedData = funcMa(kdataAndmaObj, params.cycle, tableName)//// 异步结果返回给promise 对象resolve(analysisedData);  // 将处理后的数据传递给 resolve() 函数} else {console.log(`${key} 数据不存在`);that.logList.push(`数据不存在 : ${key}`)resolve(null);  // 表示数据不存在}};});promises.push(promise);  // 将 Promise 对象加入 promises 列表中}

3 Promise.all() 方法等待所有的 Promise 对象都执行完成后,才会执行 .then() 中的回调函数

Promise.all(promises).then(results => {// 在所有 Promise 对象都完成后执行下一步操作let DataAll = results.filter(result => result !== null);  // 过滤掉不存在的数据console.log('DataAll :', DataAll );// 处理剩余的代码...}).catch(error => {console.log('发生错误:', error);});

4 总结

promise对象 异步处理

Promise.all() 等待所有异步完成 在里面处理所有数据

http://www.lryc.cn/news/141113.html

相关文章:

  • 【业务功能篇84】微服务SpringCloud-ElasticSearch-Kibanan-电商实例应用
  • 图像检索,目标检测map的实现
  • Docker容器学习:Dockerfile制作Web应用系统nginx镜像
  • 【vue3.0 引入Element Plus步骤与使用】
  • 金融客户敏感信息的“精细化管控”新范式
  • Starrocks--数据插入方式
  • Java学数据结构(3)——树Tree B树 红黑树 Java标准库中的集合Set与映射Map 使用多个映射Map的案例
  • Vue3.0极速入门 - 环境安装新建项目
  • android 使用libyuv 图像转换
  • 奥比中光:进击具身智能,打造机器人之眼
  • 微信小程序报错: SyntaxError: Cannot use import statement outside a module
  • Ruoyi微服务启动流程
  • Android scrollTo、scrollBy、以及scroller详解 自定义ViewPager
  • Aidex 移动端快速开发框架# RuoYi-Uniapp项目,uniapp vue app项目跨域问题
  • JVM7:垃圾回收是什么?从运行时数据区看垃圾回收到底回收哪块区域?垃圾回收如何去回收?垃圾回收策略,引用计数算法及循环引用问题,可达性分析算法
  • NFT Insider #104:The Sandbox:全新土地销售活动 Turkishverse 来袭
  • Docker架构及原理
  • VScode使用SSH连接linux
  • 多线程的创建与同步
  • LLMs 缩放指令模型Scaling instruct models FLAN(Fine-tuned LAnguage Net,微调语言网络)
  • 政务大厅人员睡岗离岗玩手机识别算法
  • 认识Mybatis的关联关系映射,灵活关联表对象之间的关系
  • 如何开发一款唯一艺术平台 区块链 /数字藏品
  • 【UniApp开发小程序】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
  • 运维高级学习--Kubernetes(K8s 1.28.x)部署
  • Apache zookeeper kafka 开启SASL安全认证 —— 筑梦之路
  • lintcode 1017 · 相似的RGB颜色【进制计算】
  • 全国首台!浙江机器人产业集团发布垂起固定翼无人机-机器人自动换电机巢
  • 采用 UML 对软件系统进行建模的基本框架
  • 编译tiny4412 Linux 内核