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])
// => 2Interfaces
SerialCallContext<T>
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends Fn | Fn |
Properties
Type Aliases
SerialCallReturn<T>
SerialCallReturn<
T> =ReturnType<T> extends infer R ?RextendsPromiseLike<any> ?Promise<Awaited<R>> :R:never
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends Fn | Fn |