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

大连做网站需要多少钱Wordpress一直刷不出

大连做网站需要多少钱,Wordpress一直刷不出,互联网舆情研究中心,一般做自己的网站需要什么前言 上一篇文章我们处理了axios的重复请求问题axios重复请求,今天来说一下如何在离开某个页面的时候将正在发送的请求取消掉 开始 基于上一篇的axios封装,当我们在编写某个页面的请求的时候 import request from /request/index;export const test2…

前言

上一篇文章我们处理了axios的重复请求问题axios重复请求,今天来说一下如何在离开某个页面的时候将正在发送的请求取消掉

开始

基于上一篇的axios封装,当我们在编写某个页面的请求的时候

import request from '@/request/index';export const test2: any = async (data: any, onCancel: OnCancel) => {const controller = new AbortController();const requestPromise = request.post('/test', data, {signal: controller.signal,});if (typeof onCancel === 'function') {// 如果是一个函数,则直接调用传一个取消方法给 这个方法// 所以只要传进来是方法,就会直接传一个参数并直接触发这个函数// 那传过来的这个方法就会接收到一个参数(就是取消函数() => controller.abort())// 在调用uploadFile就可以拿到这个参数onCancel(() => controller.abort()) as any; // 调用 onCancel 时传入取消函数}return requestPromise;
};

上面是用在页面中的请求函数,new AbortController()是axios官网推荐的用法,具体请查看官网

使用

废话少说,直接上代码

<template><div><el-button @click="requestAxios2">发送请求2</el-button><el-button @click="requestAxios3">发送请求3</el-button></div>
</template>
<script setup lang="ts">
import { test2 } from '@/request/test/index';
const list: CancelFunction[] = [];
// 发送post请求
const requestAxios2 = async () => {try {const requestPromise = await test2({ page: 1, limit: 10 },(oncancle: CancelFunction) => {list.push(oncancle);},);console.log(requestPromise);} catch (error) {console.error('Error in requestAxios2:', error);}
};const requestAxios3 = async () => {try {const requestPromise = await test2({ page: 1, limit: 100 },(oncancle: CancelFunction) => {list.push(oncancle);},);console.log(requestPromise);} catch (error) {if (error === '取消请求') {console.log('取消请求');}}
};onBeforeUnmount(() => {list.forEach((item: any) => {item();});
});
</script>
<style lang="scss" scoped></style>

当我们在调用函数的时候,传入一个回调函数,将这个回调函数的的值保存在一个list中,当离开页面的时候直接循环调用这个数组,并执行依次执行,就能实现当离开页面的时候取消正在发送的请求

展示结果

image
image
当我们离开之后页面会打印取消请求,截图可能不容易开出来,具体实现查看,不过后端代码没有在上面,这里放出来大家可以参考一下
后端:

// 使用express
const express = require("express");
const cors = require("cors");
const app = express();
const port = 8000;
// 设置跨域
// 安装cors
// 使用cors解决跨域
// 中间件,用于解析 JSON 请求体
app.use(express.json());// 中间件,用于解析 URL 编码请求体
app.use(express.urlencoded({ extended: true }));
app.use(cors());
const timeout = 3000;
app.get("/api/table/:id", (req, res) => {setTimeout(() => {res.send("结束,get");}, timeout);
});
app.get("/api/table", (req, res) => {// 获取请求参数let { page, limit } = req.query;setTimeout(() => {res.send("结束,get");}, timeout);
});
app.post("/api/table", (req, res) => {// 获取请求参数let { page, limit } = req.body;setTimeout(() => {res.send("结束,post");}, timeout);
});
app.post("/test", (req, res) => {// 获取post请求参数//   console.log(req.body, "req");let { page, limit } = req.body;setTimeout(() => {res.send({code: 200,data: {page,limit,},});}, timeout);
});
app.listen(port, () => {console.log("\x1b[36m%s\x1b[0m", "{^_^} 启动成功了哦!");
});

总结

以上是实现离开页面取消正在发送的请求,当然也可以在发送请求添加到数组的时候,给每个取消函数绑定一个唯一id,当请求完成之后,从这个数组里面移出,这样离开页面的时候循环调用就不会有多余的函数,保证页面的进一步优化


文章转载自:

http://awRdKb1L.hnkkf.cn
http://By77Q3R7.hnkkf.cn
http://61ZA3kC3.hnkkf.cn
http://sLWhhFUg.hnkkf.cn
http://KlT0yZHb.hnkkf.cn
http://1Ha6a2c1.hnkkf.cn
http://DmYEC9hT.hnkkf.cn
http://CXl1RGtS.hnkkf.cn
http://JYHdSNz1.hnkkf.cn
http://brg77DI6.hnkkf.cn
http://xhT2C7ez.hnkkf.cn
http://15dLBJPF.hnkkf.cn
http://rWsjqrUe.hnkkf.cn
http://5usuINeo.hnkkf.cn
http://iVe1ekdJ.hnkkf.cn
http://c3Qhhayd.hnkkf.cn
http://JHpad1LV.hnkkf.cn
http://3VZeC9uI.hnkkf.cn
http://3DMlW3yl.hnkkf.cn
http://I9jtDl2J.hnkkf.cn
http://cAPL6U49.hnkkf.cn
http://wPSTbWFR.hnkkf.cn
http://39gQaCwy.hnkkf.cn
http://pDpncrzG.hnkkf.cn
http://F1NtOlau.hnkkf.cn
http://mkK6qFdL.hnkkf.cn
http://kDJ6iqYD.hnkkf.cn
http://dmRf5DcA.hnkkf.cn
http://wPRFqhz5.hnkkf.cn
http://cP8YkLEh.hnkkf.cn
http://www.dtcms.com/wzjs/659296.html

相关文章:

  • 国内做网站最大的公司注册网站域名有什么用
  • 自己做网站自己做SEO电销
  • 哪里有做兼职的网站东莞网站建设公司电话
  • 齐齐哈尔建设网站dw怎么做网站
  • 做网站能传电影网站多少钱深圳10大品牌策划公司
  • 商城购物网站有哪些模块装修设计案例网站
  • 深圳市门户网站建设多少钱深圳公司画册设计
  • 广州白云发布通告seo关键词怎么选
  • phpcms v9网站导航网站首页尺寸
  • 如何通过外链提高网站权重wordpress结算加载太慢
  • php和django做网站哪个好河曲县城乡建设管理局网站
  • 网站备案一次吗ps里新建网站尺寸怎么做
  • 淄博做网站封面制作app
  • 上海平台网站建设哪家好修改wordpress登陆用户名和密码
  • 保定网站制作套餐肇庆seo按天收费
  • 新乡网站seo优化手机网站开发 手机模拟器
  • 个人网站维护费用营销型电子商务网站
  • 上传到网站的根目录中wordpress怎么更新缓存
  • 嘉兴市城市建设门户网站陕西省住建厅网站官网
  • 企业公司网站 北京贵阳网站设计公司价格
  • 深圳品牌营销网站建设国外网页素材网站
  • 企业门户网站的主要论点及写作体会怎么写虚拟主机 两个网站
  • 要找人做公司网站应该怎么做建立了公司门户网站
  • 做网站制作课程总结赣州市网站建设
  • 如何查询一个网站是否备案招聘系统推广哪家好
  • 高端营销型企业网站建设网店代运营被骗怎么办
  • 印刷网络商城网站建设企业建站系统信息
  • 苏州网站建设及推广深圳营销型网站建设公司选择哪家好
  • 大学生做微商网站怎么让网站自适应
  • 长沙优化网站技巧建设网站的公司要什么资质