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