Skip to content

serialCall

Namespaces

Functions

serialCall()

serialCall<T>(fns, ...args): SerialCallReturn<T>

串行执行函数列表并返回最终结果,可以通过 serialCall.getContext() 获取执行上下文

Type parameters

ParameterValue
T extends AnyFnAnyFn

Parameters

ParameterTypeDescription
fnsT[]函数列表
...argsParameters<T>参数列表

Returns

SerialCallReturn<T>

执行结果,存在异步函数时返回 Promise

Example

ts
const fn1 = () => sleep(3000).then(() => 1)
const fn2 = () => serialCall.getContext().returned + 1
const val = await serialCall([fn1, fn2])
// => 2

Interfaces

SerialCallContext<T>

Type parameters

ParameterValue
T extends AnyFnAnyFn

Properties

PropertyTypeDescription
argsParameters<T>执行参数列表

Default
[]
currentIndexnumber当前执行索引

Default
-1
isEndboolean是否末尾函数
isFirstboolean是否首个函数
lengthnumber当前执行任务总长度

Default
0
returned?Awaited<ReturnType<T>>上一个函数返回值

Type Aliases

SerialCallReturn<T>

SerialCallReturn<T>: ReturnType<T> extends infer R ? R extends PromiseLike<any> ? Promise<Awaited<R>> : R : never

Type parameters

ParameterValue
T extends AnyFnAnyFn