Skip to content

concurrent ​

并发执行一组返回Promise的函数functions,参数limit限制同时运行的数量。

Added in v0.0.1

Usage ​

ts
import { concurrent } from 'parsnip-kit'

const functions = Array.from(
  { length: 5 },
  (_, i) => () =>
    new Promise<number>((resolve) => {
      setTimeout(() => { resolve(i) }, i * 100)
    })

concurrent(functions, 2).then(res => {
  console.log(res)
  // [{ status: 'fulfilled', value: 0 }, { status: 'fulfilled', value: 1 }, { status: 'fulfilled', value: 2 }, { status: 'fulfilled', value: 3 }, { status: 'fulfilled', value: 4 }]
})

API ​

Type Parameter ​

ArgTypeDescription
T返回Promise的value类型

Arguments ​

ArgTypeOptionalDefaultDescription
functions(() => Promise<T>)[]falseundefined返回Promise的函数数组
limitnumberfalseundefined同时运行的函数数量限制

Returns ​

Type
Promise<PromiseSettledResult<Awaited<T>>[]>