Function 函数方法 API
本文逐项记录 @fast-china/utils 的 Function 函数公开函数。
once 单次
创建最多执行一次并缓存首次结果的函数。
签名
ts
export function once<This, Arguments extends unknown[], Result>(
callback: (this: This, ...arguments_: Arguments) => Result
): (this: This, ...arguments_: Arguments) => Result;示例
ts
import { once } from "@fast-china/utils";
const initialize = once(() => ({ ready: true }));
const result = initialize();输入
| 输入值 | 输入值类型 | 必填/默认值 | 输入值说明 |
|---|---|---|---|
callback | (this: This, ...arguments_: Arguments) => Result | 是 | 只允许执行一次的函数。 |
返回
| 返回值 | 返回值类型 | 返回值说明 |
|---|---|---|
result | (this: This, ...arguments_: Arguments) => Result | 保持原参数与返回类型的包装函数。 |
同步重入
once 首次回调尚未返回时,同步重新调用同一包装函数会抛出明确错误,不会第二次执行回调。回调可以自行捕获该错误;否则它作为第一次同步错误被缓存。第一次成功返回的值或 Promise 身份保持不变。
