zoukankan      html  css  js  c++  java
  • [FE] AJAX 异步请求中途取消

    应用场景

    当前端需要即时搜索时,会不断的向后端请求ajax,但是前端仅仅需要最后一次的搜索结果,之前的请求全部丢弃。

    示例

    对于未封装原生的js来说

    let xhr = new XMLHttpRequest();
    xhr.open(method,url,true);
    xhr.onreadystatechange = ()=>{} // 回调函数
    xhr.send(); // 发送请求
    xhr.abort(); // 请求终端
    

    Axios

    let cancelToken = axios.CancelToken;
    let source = ConcelToken.source();
    axios({
          method: method,
          url: url,
          concelToken: source.Token
    }).then(res=>{
    }).catch(err=>{
    });
    source.cancel();
    

    总结

    配合取消请求可以优化减少搜索请求,特别是当用户不断修改搜索的时候。
    Axios封装了promise,提供了cancelToken,与c# 的task异步多线程的cancelToken相似。

  • 相关阅读:
    NAT和PAT
    谷歌浏览器如何正确离线网页
    安全
    VLAN
    交换
    动态路由
    静态路由
    配置Cisco网络设备
    导数表和基本积分表
    HNOI/AHOI2018题解
  • 原文地址:https://www.cnblogs.com/minskiter/p/13768570.html
Copyright © 2011-2022 走看看