Debounce tipado en TypeScript
Debounce que preserva los tipos de argumentos de la función envuelta.
function debounce<A extends unknown[]>(
fn: (...args: A) => void,
wait: number,
): (...args: A) => void {
let timer: ReturnType<typeof setTimeout> | undefined;
return (...args: A) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), wait);
};
}
Palabras clave y builtins usados aquí
AReturnTypeextendsfunctionletnumberreturn
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 255
- Tokens
- 77
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 44 segundos.
Paso 2 de 5 en Tiempo y memoria; paso 15 de 19 en Clases y patrones.