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

门户网站设计内黄县住房和城乡建设局网站

门户网站设计,内黄县住房和城乡建设局网站,济南的企业网站建设,网页设计与制作设计网页源文件大厂面试题分享 面试题库前后端面试题库 #xff08;面试必备#xff09; 推荐#xff1a;★★★★★地址#xff1a;前端面试题库问题之前在业务上有这样一个场景#xff0c;通过 script 标签动态引入了一个外部资源#xff0c;具体方式是这样的const script document.…大厂面试题分享 面试题库前后端面试题库 面试必备 推荐★★★★★地址前端面试题库问题之前在业务上有这样一个场景通过 script 标签动态引入了一个外部资源具体方式是这样的const script document.createElement(script); script.src xxx; script.async true; document.body.appendChild(script); 复制代码最近发现在某些情况下需要取消这个请求因此对取消script标签发出的请求的方法进行研究。取消请求的几种方式取消 XMLHttpRequest 请求// 发送请求const xhr newXMLHttpRequest(); xhr.open(GET, url, true); xhr.send(); // 1s后取消请求的两种方法// a. 设置超时时间属性在 IE 中超时属性可能只能在调用 open()方法之后且在调用 send()方法之前设置。 xhr.timeout 1000; // b. 利用abort方法setTimeout(() {xhr.abort(); }, 1000); 复制代码取消 fetch 请求fetch请求的取消主要依赖于AbortController对象当fetch 请求初始化时我们将 AbortSignal 作为一个选项传递进入请求的选项对象中下面的 {signal}。const controller newAbortController(); fetch(url, { signal: controller.signal }); // 1s后取消请求setTimeout(() {controller.abort(); }, 1000); 复制代码取消 axios 请求取消 axios 请求同样依赖于 AbortController 对象。const controller newAbortController(); axios.get(url, { signal: controller.signal }); // 1s后取消请求setTimeout(() {controller.abort(); }, 1000); 复制代码取消使用script标签通过对网上的资料进行整理并没有发现直接取消 script 标签发起的请 求的方法。并且当请求发出后对 script 进行的操作如删除 dom 节点也不会造成影响。那么能不能将 script 发起的请求改为使用以上三种方法之一来实现呢改为 fetch 方法我首先尝试了 fetch 方法。通过使用 fetch 方法对网址进行请求我发现请求得到的类型是一个 ReadableStream 对象。MDN上提供了一种方法可以获取到 ReadableStream 对象中的内容fetch(https://www.example.org).then((response) response.body).then((rb) {const reader rb.getReader();returnnewReadableStream({start(controller) {// The following function handles each data chunkfunctionpush() {// done is a Boolean and value a Uint8Arrayreader.read().then(({ done, value }) {// If there is no more data to readif (done) {console.log(done, done);controller.close();return;}// Get the data and send it to the browser via the controllercontroller.enqueue(value);// Check chunks by logging to the consoleconsole.log(done, value);push();});}push();},});}).then((stream) // Respond with our streamnewResponse(stream, { headers: { Content-Type: text/html } }).text()).then((result) {// Do things with resultconsole.log(result);}); 复制代码使用这种方法我就通过 fetch 方法获取到了原来 script 标签请求的内容也就可以使用 AbortController 来控制请求的取消。改为 XMLHttpRequest 方法尝试使用 fetch 方法解决问题之后我又对 XMLHttpRequest 进行了尝试发现这种方法更加简便获取的请求内包含一个 responseText 字段就是我需要的内容并且在请求未成功或尚未发送的情况下这个值为 null 也就更方便进行请求是否成功的判断。结论对于 script 标签发出的请求我们无法取消但是我们可以通过其他的方法来达到 script 标签的效果因为 XMLHttpRequest 已经足够简便我就没有对 axios 进行尝试相信也肯定可以达到同样的目标有兴趣的同学可以尝试一下。大厂面试题分享 面试题库前后端面试题库 面试必备 推荐★★★★★地址前端面试题库
http://www.w-s-a.com/news/988476/

相关文章:

  • 北京软件网站开发装修设计培训机构
  • 哪个网站能帮助做路书网站建设的技巧
  • 上海网站备案在哪里在国外怎么做网站
  • 做网站得花多钱乡村振兴网站建设
  • 站设计培训课程wordpress自动回复
  • 上海闵行区 网站建设永久免费crm软件下载
  • 天津营销网站建设公司排名台州网站排名公司
  • 环保网站 怎么做物流网站的功能与特色
  • 网站多久才会被收录服务器租用泰海
  • 电商网站建设合同模板临汾推广型网站建设
  • 天猫商务网站建设目的长春网站设计
  • 公司网站建设会议纪要昆山高端网站建设机构
  • 做消费网站流程深圳网站设计价格
  • 做电影网站怎么接广告中国最新军事新闻视频
  • 网站推广设计做哪些设置自动删除的wordpress
  • 东莞东坑网站设计专业网站制作设
  • 网站怎么做现场直播视频成都科技网站建设找
  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询