fetch常用api,fetch和axios的区别

news/2024/7/19 13:27:09 标签: js

axios

1.从浏览器中创建 XMLHttpRequest

2.客户端支持防止CSRF

3.提供了一些并发请求的接口(重要,方便了很多的操作)

4.从 node.js 创建 http 请求

5.拦截请求和响应

6.转换请求和响应数据

7.自动转换JSON数据

fetch优势

1.语法简洁,更加语义化

2.基于标准 Promise 实现,支持 async/await

3.同构方便,使用 isomorphic-fetch

4.更加底层,提供的API丰富

5.脱离了XHR,是ES规范里新的实现方式

fetch存在问题

fetch是一个低层次的API,你可以把它考虑成原生的XHR,所以使用起来并不是那么舒服,需要进行封装。

fetch只对网络请求报错,对400,500都当做成功的请求,服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。

fetch默认不会带cookie,需要添加配置项: fetch(url, {credentials: ‘include’})

fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制并不能阻止请求过程继续在后台运行,造成了流量的浪费

fetch没有办法原生监测请求的进度,而XHR可以

没有相应拦截和请求拦截


http://www.niftyadmin.cn/n/1371461.html

相关文章

网络优化,css优化, js优化

网络优化 减少HTTP请求,合并文件、精灵图减少DNS查询,使用缓存 当使用了CDN时,DNS 服务器根据用户 IP 地址,将域名解析成相应节点的缓存服务器IP地址,实现用户就近访问。使用 CDN 服务的网站,只需将其域名…

web常见的攻击方式

xss攻击 用户通过浏览器访问web网页,xss攻击通过各种办法在用户访问页面的时候,插入一些自己的代码或者脚本,让用户访问页面的时候,就可以执行这个脚本,攻击者通过插入的脚本的执行就会获得一些信息(比如c…

单例模式,策略模式,代理模式,迭代器模式,发布订阅模式

单例模式 1.什么是单例模式 是指在一个类只能有一个实例,即使多次实例化该类,也只返回第一次实例化后的实例对象。 2.主要解决: 一个全局使用的类频繁地创建与销毁。 3.js单例模式何时使用: 当您想控制实例数目,…

setup里面获取dom元素

注意:ref“变量” 变量ref(null)变量.value这里的变量名称要一致

深入理解vue生命周期

1.beforeCreate 组件实例被创建之初 干了什么事? 初始化vue实例,进行数据观测 能做什么? 1.执行时组件实例还未创建,通常用于插件开发中执行一些初始化任务 2.可以在这写一个Loading事件 2.created 组件实例已经完全创建 …

函数只执行第一次的执行一次 once函数

//只执行一次函数function once(fn){var ifFalse truereturn function(){if(ifFalse){ifFalse falsefn()}}}//调用function getName(){console.log(我叫吉娃娃)}getName once(getName)getName() //我叫吉娃娃getName() //不执行转自链接:https://www.nowcoder.co…

setInterval、setTimeout、requestAnimationFrame

setTimeout :设置某个时间后执行某个动作,表示延时执行某个动作 setInterval :设置每隔多久执行一次某个动作,它是循环的,如果想重复执行使用该方法 requestAnimationFrame :不需要设置时间间隔,要求浏览器在下次重绘之前调用指…

react借助消息订阅与发布实现兄弟组件的通信

1.安装 pubsub-js yarn add pubsub-js 使用 取消订阅 实践 1.订阅消息 只要有人发布了同名称的消息就可以接收到 2.发布消息 详情:https://github.com/mroderick/PubSubJS