为什么 axios return 承诺而不是价值?
Why does axios return promise instead of the value?
我正在尝试从存储在另一个文件中的函数中的 axios get 请求中获取值 postData.js
const BaseURL = 'http://127.0.0.1:8000/api/';
export const getData = (location) => {
return axios.get(`${BaseURL}${location}`).then(res => res.data)
.then((data) => {
return data;
})
}
来自 console.log(getData('menu/')),在其他文件的组件内,我期望来自 axios 的值,而不是我得到一个承诺对象。
Axios 确实 return promise 对象以处理外部 API 调用的异步性 --> 您将无法预测发出请求所需的确切时间,因为它取决于外部因素。因此你可以使用 async
/ await
和 .then
来处理它的 return.
根据 AXIOS 的 git 存储库- 浏览器的基于 Promise 的 HTTP 客户端 node.js 所以它返回一个 promise。
由于 axios 以更简单的方式从浏览器实现 XMLHttpRequests,并且 XMLHttpRequests 本质上应该是异步的。所以承诺是处理场景的最佳方式。
我正在尝试从存储在另一个文件中的函数中的 axios get 请求中获取值 postData.js
const BaseURL = 'http://127.0.0.1:8000/api/';
export const getData = (location) => {
return axios.get(`${BaseURL}${location}`).then(res => res.data)
.then((data) => {
return data;
})
}
来自 console.log(getData('menu/')),在其他文件的组件内,我期望来自 axios 的值,而不是我得到一个承诺对象。
Axios 确实 return promise 对象以处理外部 API 调用的异步性 --> 您将无法预测发出请求所需的确切时间,因为它取决于外部因素。因此你可以使用 async
/ await
和 .then
来处理它的 return.
根据 AXIOS 的 git 存储库- 浏览器的基于 Promise 的 HTTP 客户端 node.js 所以它返回一个 promise。
由于 axios 以更简单的方式从浏览器实现 XMLHttpRequests,并且 XMLHttpRequests 本质上应该是异步的。所以承诺是处理场景的最佳方式。