debounce una función de rebote como ejemplo.
const debounce = (func, wait) => { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; };luego creo una función ficticia:
const dummy = () => console.log('debounced');luego creo una función debouncedDummy:
const debouncedDummy = debounce(dummy, 1000); y luego llamo a debouncedDummy varias veces:
debouncedDummy(); debouncedDummy(); debouncedDummy(); debouncedDummy(); Lo que necesito ayuda para entender es por qué la variable de timeout de espera se comparte en varias llamadas de debouncedDummy .
¿Qué pasa si el tiempo de timeout se definió fuera del alcance de la eliminación de debounce ?
¿Qué pasa si el tiempo de timeout se definió dentro del alcance de la función executedFunction ?