mirror of
https://github.com/toss/es-toolkit.git
synced 2025-01-05 23:43:29 +03:00
22701d5c23
* Fix before once * Fix lint error * Apply suggestions from code review Co-authored-by: Sojin Park <raon0211@gmail.com> * Fix once * Fix once types --------- Co-authored-by: Sojin Park <raon0211@gmail.com>
863 B
863 B
once
提供された関数 func
を一度だけ呼び出すように制限する関数を生成します。
関数を繰り返し呼び出すと、最初の呼び出しの値を返します。
インターフェース
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
が一度呼び出されると結果をキャッシュして返す新しい関数です。
例
const initialize = once(() => {
console.log('初期化');
return true;
});
initialize(); // '初期化'をログに出力し、trueを返します
initialize(); // ログ出力なしでtrueを返します