javascript - 如何使用 Redux Saga debounce 但先获取而不是等待 n 毫秒
问题描述
有没有办法在redux-saga
例如 5 秒内只获取一次?
我知道有 debounce
功能:
yield debounce(5000, 'SAMPLE_ACTION', actionToFetchFirst)
但我想要的是它先获取而不是等待 5 秒进行初始获取
解决方案
我想要的是它先获取而不是等待 5 秒进行初始获取
您可以leading=true
在lodash.debounce
选项中指定:
lodash.debounce(func, [wait=0], [options={}])
[options.leading=false](布尔值):指定在超时的前沿调用。
lodash.debounce(5000, 'SAMPLE_ACTION', { leading: true });
或者只是添加一个条件,例如:
if (input.length > 1) fetchDebounced();
else fetch();
推荐阅读
- powershell - UIPath 中的 Powershell。抛出:无法将“Microsoft.Exchange.WebServices.Data.GetItemResponse”类型的对象转换为“System.String”类型
- android - Firebase 规则解决错误
- node.js - 硒网络驱动程序。通过 selenium 网格运行测试时如何安装 chrome 扩展?
- javascript - Grapesjs 删除自定义工具问题
- c# - 数据表:切换 2 列没有标题
- angular - Angular 暴露的组件方法
- android-studio - 如何在 2D Libgdx 游戏中创建子弹
- windows - x64 从 asm 调用 createthread
- r - 神经网络预测新的 csv 数据
- python - 调用 print 时是否“临时”导入 sys?