葡萄牙语版本
axios 和 fetch 是在 javascript 中发出 http 请求的流行工具,但它们有一些关键的区别。总结如下:
axios:
axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error(error)); const options = { url: 'http://localhost/test.htm', method: 'post', headers: { 'accept': 'application/json', 'content-type': 'application/json;charset=utf-8' }, data: { a: 10, b: 20 } }; axios(options) .then(response => { console.log(response.status); });
获取:
fetch('/api/data') .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => console.log(data)) .catch(error => console.error(error)); const url = "https://jsonplaceholder.typicode.com/todos"; const options = { method: "POST", headers: { Accept: "application/json", "Content-Type": "application/json;charset=UTF-8", }, body: JSON.stringify({ a: 10, b: 20, }), }; fetch(url, options) .then((response) => response.json()) .then((data) => { console.log(data); });
两者都有各自的优点,选择通常取决于您的具体需求和偏好。如果您正在构建具有大量 api 交互的大型应用程序,axios 可以使某些任务变得更容易,而 fetch 非常适合简单的任务。
axios 提供了一个用户友好的 api,可以简化大多数 http 通信任务。但是,如果您更喜欢使用本机浏览器功能,您绝对可以使用 fetch api 自己实现类似的功能。
正如我们所探索的,使用浏览器中可用的 fetch() 方法复制 axios 的核心功能是完全可行的。包含客户端 http 库的决定最终取决于您对本机 api 的舒适度以及项目的具体要求。
更多信息:https://medium.com/trainingcenter/axios-ou-fetch-765e5db9dd59