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

北京网站建设方案飞沐网站制作费用一览表

北京网站建设方案飞沐,网站制作费用一览表,网络培训学校排名,网站分析怎么做场景是这样的: 在一个列表循环里,对数据进行赋值,调用接口,循环外后面的代码需等待所有请求执行完成后再去执行。 1. Promise.all实现 Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array&am…

场景是这样的:

在一个列表循环里,对数据进行赋值,调用接口,循环外后面的代码需等待所有请求执行完成后再去执行。

1. Promise.all实现

Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型)的输入,并且只返回一个Promise实例,那个输入的所有 promise 的 resolve 回调的结果是一个数组。这个Promise的 resolve 回调执行是在所有输入的 promise 的 resolve 回调都结束,或者输入的 iterable 里没有 promise 了的时候。它的 reject 回调执行是,只要任何一个输入的 promise 的 reject 回调执行或者输入不合法的 promise 就会立即抛出错误,并且 reject 的是第一个抛出的错误信息。

伪代码如下
const pro = []
//一个列表循环
this.EarDataGrid.instance.getSelectedRowsData().forEach((item, index) => {// 取需要的数据const { BatchID, BatchName} = itemlet empty = {};empty['BatchID'] = BatchID //同步代码修改empty['BatchName'] = BatchName// 根据BatchID去请求xx接口,将请求合并用all请求pro.push(new Promise((res, rej) => {this.odataContext.bizBatchSetExpand.byKey(BatchID).then(r => {res(r[0])})}))}});//根据刚刚push的all请求
Promise.all(pro).then((res) => {//在这就可以等所有的返回结果可以得到// do some thing...})

2. for await…of实现(推荐)

这种方法是es6新语法,其介绍如下:

for await…of 语句创建一个循环,该循环遍历异步可迭代对象以及同步可迭代对象,包括:内置的 String, Array,类似数组对象 (例如 arguments 或 NodeList),TypedArray, Map, Set 和用户定义的异步/同步迭代器。它使用对象的每个不同属性的值调用要执行的语句来调用自定义迭代钩子。
类似于 await 运算符一样,该语句只能在一个async function 内部使用。

  • for…of 针对可迭代对象身上的(array, map, set, string, typedarray, argements)
    迭代的是对象列表中的值(value) ,一般情况遍历数组

  • for…in 针对对象的属性进行无序遍历,除了symbol类的属性
    遍历的是属性,一般情况适用于对象遍历

该方法使用起来,相比Promise.all要简洁的多,十分好用

代码示例如下:

/**根据批次调健康管理接口 */
async handleHealthApi() {// 使用for await...of实现处理异步操作for await (let item of this.batchList) {let params = `?$filter=BatchID eq '${item.BatchId}'&$orderby=ImmunityDate`;let { value } = await immtipApi.ImmunityPromptBatch(params)// do some thing...}
},

变量控制

这种方法不推荐,很不推荐,建议优先使用官方推出的语法,这种写法会产生没必要的if,维护起来会越来越麻烦。

list.forEach(function (item, i) {setTimeout(() => {//模拟异步回调中count++;console.log('执行请求ing');//执行完所有异步操作if (count === list.length) {console.log(' 请求执行完成✅',)// do some thing...}}, i)
})

写在最后

觉得有用 点个赞吧

http://www.lbrq.cn/news/2411947.html

相关文章:

  • 用字母做logo的网站桌子seo关键词
  • 园区二学一做网站十大放黄不登录不收费
  • 企业网站设计与管理免费的行情软件app网站
  • 创建站点如何做网站seo搜索引擎优化业务
  • 北京海淀区是几环新网站 seo
  • 悦然外贸建站昆山网站建设公司
  • 英文网站建设的请示怎么写网络推广营销方法
  • 佛山外贸企业网站建设app开发自学教程
  • 你的网站尚未备案 根据免费网站推广群发软件
  • 长沙做网站建设公司百度关键词搜索排名统计
  • 建设网站市场分析网址查询注册信息查询
  • 做 了一个 家教 网站哪家网站优化公司好
  • 做网站要做哪些百度搜索网址
  • wordpress架构的网站自己建网站怎么弄
  • 自己做小程序商城西安seo学院
  • 自己做游戏网站网站页面
  • 国外市场网站推广公司国内10大搜索引擎
  • .net做网站教程网络营销产品的特点
  • 进口外贸网站有哪些网站流量
  • 电子商务网站建设系统功能站内推广有哪些方式
  • 如何用自己公司网站做邮箱企业推广方法
  • 沈阳网站seo网站备案查询工信部官网
  • 网站获取访客文职培训机构前十名
  • 做英德红茶的网站竞价恶意点击犯法吗
  • 帮人负责做网站叫什么工作购买域名
  • 电子商务网站建设基本步骤品牌广告和效果广告
  • 网页设计师好吗广州网站优化页面
  • 网站常用文件夹seo刷排名公司
  • 做网站前端用什么关键词查询工具有哪些
  • 医疗企业vi设计公司百度seo优化包含哪几项
  • sqli-labs通关笔记-第09关 GET时间盲注(单引号闭合 手工注入+脚本注入两种方法)
  • HarmonyOS 网络请求优化实战指南:从0到1写出流畅不卡顿的应用!
  • 黑马教程Webday6
  • simulink系列之模型接口表生成及自动连线脚本
  • 论文略读: RASA: RANK-SHARING LOW-RANK ADAPTATION
  • RESTful API设计与实现指南