当前位置: 首页 > 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.mnyf.cn/news/45682.html

相关文章:

  • 北京seo代理公司洛阳网站建设优化
  • 做网站成为首富的外国人做优化关键词
  • 英文网站google推广电商培训机构有哪些?哪家比较好
  • 辽宁网站建站优化公司比较靠谱的推广平台
  • 网站建设与网页设计考试题深圳广告策划公司
  • 中国电信安徽分公司招聘网站怎么找专业的营销团队
  • 怎样建设淘客网站app运营推广是干什么
  • wordpress 文件夹管理湛江百度seo公司
  • 网上申请入团网站深圳做推广哪家比较好
  • 网站建设营销解决方案哪家网站推广好
  • 广西网站建设服务网络营销方式有几种
  • php网站超市源码安卓优化大师旧版本
  • 武汉网站建设开发 棋牌如何提高百度搜索排名
  • 荣成信用建设网站西安百度关键词包年
  • 佛山专业网站建设价格太原seo排名收费
  • 南阳做网站价格厦门网络关键词排名
  • 雄安建设网站制作免费网站流量统计
  • 网站后台不能添加内容灰色行业关键词优化
  • 网商城网站排名优化工具
  • 做商城网站建设哪家好什么叫做seo
  • 网站建设渠道培训心得体会万能模板
  • 最新域名网站查询网站群发推广软件
  • 景区网站建设百度一下你就知道首页
  • wordpress ide山东东营网络seo
  • 网站建设需要哪些常用技术灰色推广引流联系方式
  • 建设网站网站设计网站软件免费下载
  • php网站开发环境说明网店代运营诈骗
  • 网站源码 预览可以访问违规网站的浏览器
  • 坪山网站设计的公司seo优化在线
  • 深圳做网站哪家公司好阐述网络推广的主要方法