Flu*_*ice 7 javascript typescript debounce
我正在尝试使用typescript编写去抖动函数。
我在这里找到了一个例子。代码如下:
export function debounce<Params extends any[]>(
func: (...args: Params) => any,
timeout: number,
): (...args: Params) => void {
let timer: NodeJS.Timeout
return (...args: Params) => {
clearTimeout(timer)
timer = setTimeout(() => {
func(...args)
}, timeout)
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:
谢谢。
你如何使用你的debounce
功能?我准备小提琴,你可以在这里查看工作解决方案
function debounce<Params extends any[]>(
func: (...args: Params) => any,
timeout: number,
): (...args: Params) => void {
let timer: NodeJS.Timeout
return (...args: Params) => {
clearTimeout(timer)
timer = setTimeout(() => {
func(...args)
}, timeout)
}
}
function test(message) {
alert(message);
}
const debouncedTest = debounce(test, 2000);
debouncedTest('message');
Run Code Online (Sandbox Code Playgroud)
嗯,这不是打字稿的麻烦