• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

网络请求axios和fetch的区别

武飞扬头像
余生tt
帮助1

一、axios和fetch的区别

Axios 和 Fetch 都是 JavaScript 中用于发送 HTTP 请求的 API,它们的主要区别在以下方面:

1.Axios 支持更广泛的浏览器和 Node.js 版本,而 Fetch 只能在较新的浏览器中使用,或需要使用 polyfill 兼容旧版浏览器。
2.Axios 可以拦截请求和响应,可以全局配置默认的请求头、超时时间等,而 Fetch 目前不支持这些功能。
3.Axios 默认返回 JSON 格式的数据,而 Fetch 返回的是 Response 对象,需要自己通过 Response 的方法(如 json()、text() 等)将结果转换成所需的格式。
4.Axios 对于请求错误可以直接抛出异常,方便进行错误处理,而 Fetch 的错误处理比较繁琐,需要手动检查 Response.ok 属性。
5.fetch是原生js自带的,axios是封装的原生的xhr

二、axios与fetch的使用

axios的导入在上一篇文章
 //axios发送网络请求
        axios.get(`https://api.github.com/search/users?q=${KeyWord}`).then(
        	//成功的回调
            response => {
             	 console.log("请求成功了");
            },
            //失败的回调
            error => {
                 console.log("请求失败了");
            },
            
        )
fetch的使用:fetch不会直接返回数据,而是先返回是否联系到了服务器,
发送网络请求------fetch
        fetch(`https://api.github.com/search/users?q=${KeyWord}`).then(
            response =>{
                console.log('联系服务器成功了');
                return response.json()
            },
            // error => {
            //     console.log('联系服务器失败了',error);
            //     //返回一个初始化状态的 Promise 中断 .then 链
            //     return new Promise(()=>{})
            // }
        ).then(
            response =>{
                console.log('获取数据成功了',response.items);
            },
            // error => {console.log('获取数据失败了',error);}

        ).catch(
            (error)=>{console.log(error);}
        )
学新通

总体来说,Axios 比 Fetch 更易用,功能更强大。但如果只是在现代浏览器中做简单的请求操作,Fetch 也是一个不错的选择

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfiacaa
系列文章
更多 icon
同类精品
更多 icon
继续加载