2666.只允许一次函数调用
链接:2666.只允许一次函数调用
难度:Easy
标签:
简介:给定一个函数 fn ,它返回一个新的函数,返回的函数与原始函数完全相同,只不过它确保 fn 最多被调用一次。
题解 1 - typescript
- 编辑时间:2023-05-10
- 执行用时:56ms
- 内存消耗:42.5MB
- 编程语言:typescript
- 解法介绍:闭包。
function once<T extends (...args: any[]) => any>(
fn: T
): (...args: Parameters<T>) => ReturnType<T> | undefined {
let used = false;
return (...args) => (used ? undefined : ((used = true), fn(...args)));
}