有没有办法进行领先的去抖?
食谱上的示例仅显示尾随的去抖动。所以下面是尾随的debounce示例,我们将逻辑延迟500ms:
import { call, cancel, fork, take, delay } from 'redux-saga/effects'
function* handleInput(input) {
// debounce by 500ms
yield delay(500)
...
}
function* watchInput() {
let task
while (true) {
const { input } = yield take('INPUT_CHANGED')
if (task) {
yield cancel(task)
}
task = yield fork(handleInput, input)
}
}
我想在第一次调用时执行逻辑,取消任何后续调用,直到500ms结束。
修改
这可以通过使用takeLeading
来完成,然后在你想要去抖动的时候延迟最后的传奇。
答案 0 :(得分:1)
这可以通过使用takeLeading
来完成,然后在你想要去抖动的时候延迟最后的传奇。