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返回Promisevalue类型

Arguments

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

Returns

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