mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-30 18:56:23 +08:00
19 lines
421 B
TypeScript
19 lines
421 B
TypeScript
type CallbackFunc<T extends unknown[]> = (...args: T) => void
|
|
|
|
export function debounce<T extends unknown[]>(
|
|
func: CallbackFunc<T>,
|
|
wait: number,
|
|
): (...args: T) => void {
|
|
let timeoutId: ReturnType<typeof setTimeout> | undefined
|
|
|
|
return (...args: T) => {
|
|
const later = () => {
|
|
clearTimeout(timeoutId)
|
|
func(...args)
|
|
}
|
|
|
|
clearTimeout(timeoutId)
|
|
timeoutId = setTimeout(later, wait)
|
|
}
|
|
}
|