gpt4 book ai didi

javascript - redux thunk 中的 debounce 方法

转载 作者:行者123 更新时间:2023-11-30 09:22:48 25 4
gpt4 key购买 nike

我在里面有异步方法的 Action ,我想去抖动它

export const onSearchChange = query => dispach => {
if (query === "") {
dispach({ type: SOME_TYPE, payload: query })
} else {
dispach({ type: SOME_TYPE, payload: query })
searchProductsCall(query).then(payload => {
dispach({ type: SOME_OTHER_TYPE, payload })
})
}
}

如何使用 lodash 或其他东西去抖动 searchProductsCall

最佳答案

您需要先创建去抖函数并调用该函数而不是您的 searchProductsCall

以下代码应确保在所有情况下都立即调用第一个分派(dispatch)(它可能会更改 UI?)并且它仅在去抖之后和非-空查询。

export const debouncedSearchProductsCall = _.debounce((query, dispatch) => {
if (query !== "") {
searchProductsCall(query).then(payload => {
dispatch({ type: SOME_OTHER_TYPE, payload })
});
}
}, 200);

export const onSearchChange = query => dispatch => {
dispatch({ type: SOME_TYPE, payload: query });
debouncedSearchProductsCall(query, dispatch);
}

关于javascript - redux thunk 中的 debounce 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50493683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com