当前位置: 首页 > news >正文

自己做家装设计网站网站建设常用代码

自己做家装设计网站,网站建设常用代码,雅虎网站提交入口,深圳建模板网站核心思路 封装接口时返回 Promise 和 abort 方法#xff1a; 为需要支持取消的接口返回一个对象#xff0c;包含 promise 和 abort 方法#xff0c;用户可通过 abort 主动中断请求。使用 AbortController 或 CancelToken#xff1a; 推荐 AbortController#xff08;浏览… 核心思路 封装接口时返回 Promise 和 abort 方法 为需要支持取消的接口返回一个对象包含 promise 和 abort 方法用户可通过 abort 主动中断请求。使用 AbortController 或 CancelToken 推荐 AbortController浏览器原生 API兼容性更好。若使用 axios 的 CancelToken需额外处理。 实现步骤 1. 封装 Axios 实例 // src/api/index.js import axios from axios;// 创建 Axios 实例 const instance axios.create({baseURL: /api,timeout: 10000, });// 封装需要支持取消的接口 export const api {// 需要支持取消的接口getUsers() {const controller new AbortController();const { signal } controller;const promise instance.get(/users, { signal });return {promise,abort: () controller.abort(), // 提供 abort 方法};},// 不需要取消的接口getPosts() {return instance.get(/posts);}, };2. 在组件中使用 templatediv!-- 组件内容 --/div /templatescript setup import { onBeforeUnmount } from vue; import { api } from /api;// 调用支持取消的接口 const { promise: usersPromise, abort: abortUsers } api.getUsers();// 处理数据 usersPromise.then((response) {console.log(用户数据:, response.data);}).catch((error) {if (error.name AbortError) {console.log(用户请求被取消);} else {console.error(请求失败:, error);}});// 在组件卸载时取消请求 onBeforeUnmount(() {abortUsers(); // 主动取消请求 }); /script关键点说明 返回 Promise 和 abort 方法 接口函数返回一个对象包含 promise 和 abort 方法。用户可通过 abort 方法随时中断请求。 错误处理 捕获 AbortError 判断是否为用户主动取消。 生命周期管理 在 onBeforeUnmount 中调用 abort确保组件卸载时取消未完成的请求。 扩展场景 场景 1手动触发取消 // 在用户点击取消按钮时触发 const cancelButton () {abortUsers(); // 主动调用 abort 方法 };场景 2防抖/节流中的取消 // 输入搜索框时取消之前的请求 let currentAbortFn null;const handleSearch (query) {// 取消之前的请求if (currentAbortFn) currentAbortFn();const { promise, abort } api.getUsers({ query });currentAbortFn abort;promise.then((data) {// 处理数据}); };其他注意事项 服务端支持 前端取消请求仅终止浏览器端处理服务端可能仍在执行。若需服务端终止操作需传递唯一标识如 requestId。 避免重复调用 确保 abort 方法在适当的时候调用如组件卸载或用户主动操作避免多次调用。 完整封装示例 // src/api/index.js import axios from axios;const instance axios.create({baseURL: /api,timeout: 10000, });export const api {// 需要支持取消的接口getUsers(params) {const controller new AbortController();const { signal } controller;const promise instance.get(/users, {params,signal,});return {promise,abort: () controller.abort(),};},// 不需要取消的接口getPosts() {return instance.get(/posts);}, };总结 通过以下步骤实现手动取消接口 在封装接口时返回 Promise 和 abort 方法。在组件中通过 onBeforeUnmount 或用户操作调用 abort。错误处理时区分取消错误与其他错误。 此方法既保持了接口的灵活性又实现了对特定请求的精准控制。
http://www.pierceye.com/news/139434/

相关文章:

  • 简洁大气企业网站模板西安个人做网站
  • 做一个网站需要到哪里做辽宁同鑫建设网站
  • 开发网站监控推荐扬中市建设局网站
  • 手机网站根目录简述一个网站设计的主要步骤
  • 网站改版seo建议网页设计师的能力
  • 网站上线前应该备案吗温州网站建设风格
  • 网站建设书籍免费聊城市东昌府区建设路小学网站
  • 网站标题优化怎么做找人一起做素材网站
  • 如何创建个人网站模板用织梦做模板网站
  • 平台建站建设做网站一定要有营业执照吗
  • 如何把学校网站建设好天猫店铺购买
  • 网站的建设和推广企业网站建设的主要目的是
  • html5 公众号 网站开发工程公司名称
  • 公司做网站那家好网站二维码怎么制作
  • 鼓楼区建设房产和交通局网站网站全屏图片怎么做
  • 外贸订单流失严重番禺网站建设优化推广
  • 做网站送邮箱电商网站建设行情
  • f2c网站建设珠海手机网站建设费用
  • 网站建设的策划书wordpress相册代码
  • 直播网站创做上海网站制作公司哪
  • 如何承接网站建设外包昆明专业网站设计公司
  • 网站做关键词库的作用trellis wordpress
  • 建设一个网站需要哪些硬件设备关键词查询爱站网
  • 17网站一起做网店普宁个人网站备案名称填写的注意事项
  • 好的专业网站建设公司asp300源码
  • 问卷调查网站赚钱一流的盐城网站建设
  • 前端网站推荐常德农科院网站
  • 域名注册网站建设方案网站建设一般多少钱
  • 宁波网站推广找哪家重庆市建设工程信息网官网怎么查看
  • 大创意网站wordpress影视主题