queuePromises【执行异步队列】
描述
执行异步队列,异步请求函数数组
# 1.示例
import { asyncTo } from 'sf-utils2'
/* 测试用例 */
;(async () => {
try {
let result = await queuePromises([asyncTask1, asyncTask2, asyncTask3])
console.log(result)
} catch (error) {
console.log('error', error)
}
})()
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 2.入参说明
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| asyncTasks | promise 对象集合 | Array<Promise> | 是 | - |
| initValue | 初始化值 | Any | - | - |
# 3.源码
源码,点开查看 👈
/**
* 执行异步队列,异步请求函数数组
* @param {Array<Promise>} asyncTasks
* @param {*} initValue 初始化值
* @returns {*}
*/
function queuePromises(asyncTasks, initValue) {
return asyncTasks.reduce((pre, cur) => pre.then(cur), Promise.resolve(initValue))
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
上次更新: 2023/06/24, 19:35:48