Skip to content

once

创建一个函数,限制只能调用提供的函数 func 一次。

对该函数的重复调用会返回第一次调用时的结果。

签名

typescript
function once<F extends () => any>(func: F): F;
function once<F extends (...args: any[]) => void>(func: F): F;

参数

  • func (F extends (() => any) | ((...args: any[]) => void)): 要限制的函数。

返回值

(F): 调用 func 一次并缓存结果的新函数。

示例

typescript
const initialize = once(() => {
  console.log('Initialized!');
  return true;
});

initialize(); // 输出:'Initialized!' 并返回 true
initialize(); // 返回 true,但不会再输出