fetch和axios的区别

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

你可能感兴趣的:(面试,前端)