Javascript 如何使用Redux Saga debounce,但首先获取,而不是等待n毫秒
Javascript 如何使用Redux Saga debounce,但首先获取,而不是等待n毫秒,javascript,reactjs,redux,react-redux,redux-saga,Javascript,Reactjs,Redux,React Redux,Redux Saga,redux saga中是否有一种方法可以在5秒内只提取一次 我知道有debounce功能: yield debounce(5000, 'SAMPLE_ACTION', actionToFetchFirst) 但我想要的是让它先抓取,而不是等待5秒进行初始抓取 我想让它先抓取,而不是等待5秒进行初始抓取 您可以在以下内容中指定leading=true: [options.leading=false](布尔):指定在超时的前沿调用 或者只是添加一个条件,比如: if (input.length &
redux saga
中是否有一种方法可以在5秒内只提取一次
我知道有debounce
功能:
yield debounce(5000, 'SAMPLE_ACTION', actionToFetchFirst)
但我想要的是让它先抓取,而不是等待5秒进行初始抓取
我想让它先抓取,而不是等待5秒进行初始抓取
您可以在以下内容中指定leading=true
:
[options.leading=false](布尔):指定在超时的前沿调用
或者只是添加一个条件,比如:
if (input.length > 1) fetchDebounced();
else fetch();
如果我理解正确,您要查找的内容称为throttle,这意味着在5秒的时间跨度内,此操作将只调用一次,如果是这样,您可以使用lodash throttle func来执行此操作
我不明白你的要求。因此,当用户键入“s”时,您立即希望使用值
s
进行搜索,然后当用户键入e
时,您希望忽略搜索se
,因为您希望反向去盎司?是的,这正是我的情况……我还更新了没有节流的去盎司示例。
lodash.debounce(5000, 'SAMPLE_ACTION', { leading: true });
if (input.length > 1) fetchDebounced();
else fetch();