Functions
getSerialCallContext()
getSerialCallContext<
T
>():SerialCallContext
<T
>
获取当前执行上下文对象
注意:仅支持在函数定义作用域内同步获取!
Type Parameters
Type Parameter | Default type |
---|---|
T extends Fn | Fn |
Returns
Example
ts
const fn = () => {
// 传入函数类型获取类型提示
const ctx = serialCall.getContext<() => number>()
// 必须在异步开始前同步获取上下文对象
await sleep(3000)
// 返回前函数结果
return ctx.returned
}
serialCall()
serialCall<
T
>(fns
, ...args
):SerialCallReturn
<T
>
串行执行函数列表并返回最终结果,可以通过 serialCall.getContext()
获取执行上下文
Type Parameters
Type Parameter | Default type |
---|---|
T extends Fn | Fn |
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
Type Parameter | Default type |
---|---|
T extends Fn | Fn |
Properties
Type Aliases
SerialCallReturn<T>
SerialCallReturn<
T
> =ReturnType
<T
> extends infer R ?R
extendsPromiseLike
<any
> ?Promise
<Awaited
<R
>> :R
:never
Type Parameters
Type Parameter | Default type |
---|---|
T extends Fn | Fn |