Axios取消令牌在实时搜索React应用程序中不起作用

民兵

我正在制作一个实时搜索反应应用程序,您在输入中输入搜索词并得到结果(json),我尝试使用axios cancel token,但是它似乎不起作用,我不知道为什么。

class Search extends Component {
    constructor(props) {
        super(props);
        this.state = {
            query: '',
            results: {},
            isLoading: false,
            message: ''
        }
        this.cancelPrevRequest = '';
    }

    fetchSearchResults = (query) => {
        const jsonUrl = `https://jsonplaceholder.typicode.com/posts?q=${query}`;

        if(this.cancelPrevRequest) {
            this.cancelPrevRequest.cancel();
        }

        this.cancelPrevRequest = axios.CancelToken.source();

        axios.get(jsonUrl, { cancelPrevRequest: this.cancelPrevRequest.token })
        .then(res => {
            const resNotFoundMsg = !res.data.length ? "Sorry, we couldn't find anything" : '';
            this.setState({
                results: res.data,
                message: resNotFoundMsg,
                isLoading: false
            })
        })
        .catch(er => {
            if(axios.isCancel(er) || er) {
                this.setState({
                    isLoading: false,
                    message: "Error"
                })
            }
        })
    };

    handleOnInputChange = (ev) => {
        const query = ev.target.value;
        this.setState({ query: query, isLoading: true, message: '' }, () => {
            this.fetchSearchResults(query);
        });
    };
缺氧

通常,由于我觉得更简单,因此"onChange"我个人倾向于在调用API时使用这种方法debounce

至于为什么取消无效,您应该通过cancelToken而不是cancelPrevRequest

确保阅读更多有关取消请求的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails应用程序中的搜索表单不起作用

来自分类Dev

表单搜索在Rails应用程序中不起作用

来自分类Dev

弹性搜索在Spring Boot应用程序中不起作用

来自分类Dev

搜索表单不起作用,并在Rails应用程序中给出错误

来自分类Dev

在 Android 中搜索将不起作用;应用程序崩溃

来自分类Dev

来自React应用程序的发布请求不起作用

来自分类Dev

为什么相对图像路径在我的React应用程序中不起作用?

来自分类Dev

CSS效果在React应用程序中不起作用

来自分类Dev

在 React Native 应用程序中实现 redux 不起作用

来自分类Dev

Express route /index.js 在我的 React 应用程序中不起作用

来自分类Dev

React 应用程序在 Safari 浏览器中不起作用?语法错误

来自分类Dev

componentWillReceiveProps 在我的 React 应用程序中不起作用。它显示为未定义

来自分类Dev

为什么我的幻灯片在我的 React 应用程序中不起作用?

来自分类Dev

在 React 中制作计算器应用程序。setState 不起作用

来自分类Dev

实时搜索不起作用

来自分类Dev

Azure B2C 刷新令牌功能在 iOS Swift 示例应用程序中不起作用

来自分类Dev

注销按钮在MVC应用程序中不起作用

来自分类Dev

应用程序组中的NSUserDefaults不起作用

来自分类Dev

Bootstrap在Rails应用程序中不起作用

来自分类Dev

按钮在Android应用程序中不起作用

来自分类Dev

“应用程序是代理”在Swift中不起作用

来自分类Dev

Firebird提交在Java应用程序中不起作用

来自分类Dev

嵌入卡在Angular应用程序中不起作用

来自分类Dev

vertx应用程序中的CORS问题不起作用

来自分类Dev

BroadcastReceiver在我的Android应用程序中不起作用

来自分类Dev

Flask应用程序在某些目录中不起作用

来自分类Dev

pyautogui脚本在缩放应用程序中不起作用

来自分类Dev

Firebase注销在Flutter应用程序中不起作用

来自分类Dev

服务在Kotlin Multiplatform应用程序中不起作用

Related 相关文章

  1. 1

    Rails应用程序中的搜索表单不起作用

  2. 2

    表单搜索在Rails应用程序中不起作用

  3. 3

    弹性搜索在Spring Boot应用程序中不起作用

  4. 4

    搜索表单不起作用,并在Rails应用程序中给出错误

  5. 5

    在 Android 中搜索将不起作用;应用程序崩溃

  6. 6

    来自React应用程序的发布请求不起作用

  7. 7

    为什么相对图像路径在我的React应用程序中不起作用?

  8. 8

    CSS效果在React应用程序中不起作用

  9. 9

    在 React Native 应用程序中实现 redux 不起作用

  10. 10

    Express route /index.js 在我的 React 应用程序中不起作用

  11. 11

    React 应用程序在 Safari 浏览器中不起作用?语法错误

  12. 12

    componentWillReceiveProps 在我的 React 应用程序中不起作用。它显示为未定义

  13. 13

    为什么我的幻灯片在我的 React 应用程序中不起作用?

  14. 14

    在 React 中制作计算器应用程序。setState 不起作用

  15. 15

    实时搜索不起作用

  16. 16

    Azure B2C 刷新令牌功能在 iOS Swift 示例应用程序中不起作用

  17. 17

    注销按钮在MVC应用程序中不起作用

  18. 18

    应用程序组中的NSUserDefaults不起作用

  19. 19

    Bootstrap在Rails应用程序中不起作用

  20. 20

    按钮在Android应用程序中不起作用

  21. 21

    “应用程序是代理”在Swift中不起作用

  22. 22

    Firebird提交在Java应用程序中不起作用

  23. 23

    嵌入卡在Angular应用程序中不起作用

  24. 24

    vertx应用程序中的CORS问题不起作用

  25. 25

    BroadcastReceiver在我的Android应用程序中不起作用

  26. 26

    Flask应用程序在某些目录中不起作用

  27. 27

    pyautogui脚本在缩放应用程序中不起作用

  28. 28

    Firebase注销在Flutter应用程序中不起作用

  29. 29

    服务在Kotlin Multiplatform应用程序中不起作用

热门标签

归档