我觉得防抖和节流直接上 Promise 版会更易于理解
来源:16-9 手写节流 throttle

h4ck3r
2020-06-23
//防抖 Promise 版
function debounce(fn, delay = 500) {
let timer = null
return (...args) => {
clearTimeout(timer)
return new Promise((resolve) => {
timer = setTimeout(() => {
resolve(fn(...args))
}, delay)
})
}
}
// 节流 Promise 版
function throttle(fn, delay = 100) {
let timer = null
return (...args) => {
if (timer) {
return
}
return new Promise((resolve) => {
timer = setTimeout(() => {
resolve(fn(...args))
timer = null
}, delay)
})
}
}
没有了 this,更易于理解。讨厌的 this (逃
写回答
1回答
-
双越
2020-06-23
这样也可以。赞!
012021-03-20