javascript - 为什么 axios 返回的是 promise 而不是 value?
问题描述
我正在尝试从存储在另一个文件 postData.js 中的函数中的 axios get 请求中获取值
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的值,而不是我得到一个promise对象。
解决方案
Axios 确实返回 promise 对象以处理外部 API 调用的异步性 --> 您将无法预测发出请求所需的确切时间,因为它取决于外部因素。因此,您可以使用async
/await
来.then
处理它的返回。
推荐阅读
- java - 使用 python 检索 JUnit 测试结果
- sql - 转移到 Oracle 中正确位置的数据
- javascript - 严格模式下唯一有效的数字转义是 '\0'
- c++ - C++ if 初始化器
- python - 如何使用 python-docx 从 word 文档中删除分节符
- ruby-on-rails - 为后端 RoR 应用程序提供 swagger-ui
- java - Spring MongoTemplate:可以从每个文档中的键值对象中获取和计算所有不同的值
- r - 给定总消耗、开始和结束时间,有没有办法计算每 30 分钟间隔的总功耗?
- javascript - 使用 POST 请求向 select2 动态添加选项
- python - 使用 UUID 作为 dask 数据框中的索引列