Skip to content

once() function

最初の呼び出しでのみ f を実行する関数を作成します。以降の呼び出しでは f を再度呼び出さず、最初の実行結果を返します。

返される関数は fthis と引数の型を保持します。

Signature:

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

Example

ts
let count = 0;
const init = once((a: number) => {
  count += 1;
  return a * 10;
});

init(1); // 10 - `f`が呼び出される
init(2); // 10 - `f`は再度呼び出されず、最初の結果が返される
count; // 1

Open Source Code

Released under the Apache-2.0 License.