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();