个人博客网站需要备案吗,鱼台县建设局网站,各类网站推广,招代理最好的推广方式取消请求
发送一个异步请求获取数据#xff0c;并在控制台中打印出返回结果。这里使用了 fetch 方法来发送请求#xff0c;同时使用 AbortController 对象来实现请求的取消操作。
具体来说#xff0c;代码中定义了一个 list 函数#xff0c;该函数会创建一个 AbortContro…取消请求
发送一个异步请求获取数据并在控制台中打印出返回结果。这里使用了 fetch 方法来发送请求同时使用 AbortController 对象来实现请求的取消操作。
具体来说代码中定义了一个 list 函数该函数会创建一个 AbortController 对象并将其传递给 fetch 方法的 signal 参数中以便在需要取消请求时使用。在发送新的请求之前会先检查上一次请求是否已经完成如果没有完成则会使用 AbortController 对象的 abort 方法来取消上一次请求。
图下面代码所示
在里面使用异常捕获因为再多次发送请求时并取消请求会提示This operation was aborted
let controller;const list async () {controller controller.abort();controller new AbortController();try {const result await fetch(http://129.211.12.48:8080/api/forum/loadArticle,{ signal: controller.signal }).then((resp) resp.json());console.log(result);} catch (error) {console.log(取消了上一次请求);}
};list();
list(); 请求取消只能在fetch中实现在xhr中无法实现如相关库axios也是基于xhr实现的无法请求取消 axios 取消请求
首先创建了一个 CancelToken 实例然后将其传递给请求的配置对象中。如果需要取消请求可以调用 cancel 方法并传递一个取消请求的原因。在请求的 catch 方法中可以检查错误对象是否是由于请求被取消而导致的如果是就可以根据需要进行处理。
需要注意的是如果请求已经发送并且正在等待响应那么取消请求将不起作用因为请求已经在服务器上处理了
import axios from axios;
// 创建 CancelToken 实例
const source axios.CancelToken.source();
// 发送请求
axios.get(http://129.211.12.28:8080/api/forum/loadArticle, {cancelToken: source.token,}).then((response) {console.log(response.data);}).catch((error) {if (axios.isCancel(error)) {console.log(请求已取消, error.message);} else {console.log(请求出错, error.message);}});
// 取消请求
source.cancel(请求被用户取消);