promise.all搭配map方法处理多异步任务
发布时间 2023-10-05 23:28:57

  Promise.all() 方法可以将多个异步请求合并成(返回)一个 Promise,并在所有请求都完成(resolve)后才执行回调函数。

批量异步请求

  假设我们有如下两个异步请求需要批量处理:

  • 获取分类列表
  • 获取分类对应的商品列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const getgetCategoryProductList = async (category) => {

const categoryList = await getCategoryList()

// 异步请求数据
const result = await Promise.all(
const promisesItem = categoryList.map(async (item) => {
const itemPorudctList = await getProductList({
category: item.id
})

// 数据处理 🎈
return {
...item,
productList: itemPorudctList
}
})
return promisesItem
)
}

结束语

  当然,最好是后端直接搞一个接口,一次性返回所有分类和对应商品列表,这样就不用这么麻烦地处理异步请求了。

  我之所以写这篇文章,是因为如果我们使用云开发的话,通过云函数编写接口时,可能还是会遇到通过 Promis.all()方法处理异步请求的情况。

上一页
2024-06-11 00:39:23
下一页