once() function
最初の呼び出しでのみ f を実行する関数を作成します。以降の呼び出しでは f を再度呼び出さず、最初の実行結果を返します。
返される関数は f の this と引数の型を保持します。
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