- 概念不同
- Fetch是一种新的获取资源的接口方式,可以直接使用
- Axios是一个基于XMLHttpRequest封装的工具包,需要引入才可以使用
- 传递数据的方式不同
- Fetch则是需要放在body属性中,以字符串的方式进行传递
- Axios是放到data属性里,以对象的方式进行传递
- 响应超时
- Fetch需要通过AbortController来设置
- Axios是直接设置timeout就可以
- 对数据的转化
- Fetch则不同,它需要使用者进行手动转化,arrayBuffer(),blob(),json(),text(),formData()
- Axios还有非常好的一点就是会自动对数据进行转化
- HTTP拦截器
- Fetch没有拦截器功能,但是要实现该功能并不难,直接重写全局Fetch方法就可以办到
- Axios设置拦截器非常简单,通过axios.interceptors.request.use(() => {})