Skip to content

@pmun/utils / parallel

Function: parallel()

ts
function parallel<T>(tasks, limit): Promise<T[]>;

并发执行多个 Promise,并限制同时执行的数量

Type Parameters

T

T

Parameters

tasks

() => Promise<T>[]

Promise 工厂函数数组

limit

number = 5

最大并发数,默认为 5

Returns

Promise<T[]>

返回所有 Promise 的结果数组

Example

ts
const urls = ['/api/1', '/api/2', '/api/3', '/api/4', '/api/5']
const tasks = urls.map(url => () => fetch(url).then(r => r.json()))

// 最多同时执行 2 个请求
const results = await parallel(tasks, 2)
console.log(results)