serialCall
Namespaces
Functions
serialCall()
serialCall<
T
>(fns
, ...args
):SerialCallReturn
<T
>
串行执行函数列表并返回最终结果,可以通过 serialCall.getContext()
获取执行上下文
Type parameters
Parameter | Value |
---|---|
T extends AnyFn | AnyFn |
Parameters
Parameter | Type | Description |
---|---|---|
fns | T [] | 函数列表 |
...args | Parameters <T > | 参数列表 |
Returns
执行结果,存在异步函数时返回 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
Parameter | Value |
---|---|
T extends AnyFn | AnyFn |
Properties
Property | Type | Description |
---|---|---|
args | Parameters <T > | 执行参数列表 Default [] |
currentIndex | number | 当前执行索引 Default -1 |
isEnd | boolean | 是否末尾函数 |
isFirst | boolean | 是否首个函数 |
length | number | 当前执行任务总长度 Default 0 |
returned? | Awaited <ReturnType <T >> | 上一个函数返回值 |
Type Aliases
SerialCallReturn<T>
SerialCallReturn<
T
>:ReturnType
<T
> extends infer R ?R
extendsPromiseLike
<any
> ?Promise
<Awaited
<R
>> :R
:never
Type parameters
Parameter | Value |
---|---|
T extends AnyFn | AnyFn |