chr*_*fee 5 javascript redux redux-saga 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)
}
}
Run Code Online (Sandbox Code Playgroud)
我想在第一个调用上执行逻辑,以取消任何后续调用,直到500ms结束。
编辑
可以通过使用takeLeadingsaga,然后将saga延迟多长时间来完成。
| 归档时间: |
|
| 查看次数: |
873 次 |
| 最近记录: |