探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

您所在的位置:网站首页 华为java面试题 探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

2023-05-30 04:57| 来源: 网络整理| 查看: 265

ajax: 一个 JavaScript 技术,内部基于 XHRHttpRequest 来实现

axios: 一个请求框架,也是基于 XHRHttpRequest 封装和 promise 对象,支持同步和异步,提供了较多方法

fetch: 一个原生请求 API,基于 Promise 来实现

ajax 没有自动转换数据类型的机制,而 axios 和 fetch 支持自动将返回的数据转换为 JSON 数据格式或其他类型

ajax: 一种创建交互式网页的开发技术,可做到无需重新加载整个网页的情况下,更新部分网页,也叫局部更新。

缺点: 原生支持 XHR,但 XHR 架构不清晰不符合分离原则配置和调用费用混乱,基于事件的异步模型处理不友好

axios: 一个基于 promise 的 HTTP 库,可用在浏览器和 node.js 中。

特点: 浏览器端发起 XMLHttpRequests 请求node 端发起 http 请求支持 promise API监听请求和返回取消请求自动转换 json 数据客户端抵御 XSRF 攻击

fetch: 不是基于 ajax 的封装,而是原生 js, 没有使用 XMLHttpRequests 对象

优点: 语法简洁,更加语义化基于 promise 实现,支持 async/await更加底层,API 丰富脱离 XMLHttpRequest 缺点: 只对网络请求报错,对 400,500 都当做成功的请求,不会进行 reject 处理,只有网络错误导致请求错误,才会被 reject。默认不携带 cookie, 不支持超时控制,使用 setTimeout 及 Promise.reject 的实现的超时控制并不能阻止请求过程继续在后台运行,造成了流量的浪费没有办法检测请求的进度,而 XHR 可以。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3