javascript - 无法从我的 API 访问数据(异步问题)
问题描述
我有一个问题,我试图从我的 API 获取我的房间数据以使用地图功能,但我无法获取数据。这是我的代码。
Axios.get(`/user/rooms?${token}`).then(res => {
tmp.push(res.data)
})
const data = tmp
const Rooms = [data]
const RoomNames = []
这是制作 console.log(data) 后的输出:
0: (4) [{…}, {…}, {…}, {…}]length: 1
__proto__: Array(0)
而data[0]是未定义的</p>
解决方案
Javascript 基于异步,因此唯一的方法是在回调中调用所有逻辑(因为 .then 需要更多时间,而 javascript 不会等待它)
Axios.get(`/user/rooms?${token}`).then(res => {
tmp.push(res.data)
// this comes later so you can only get res.data in here
const data = tmp
const Rooms = [data]
const RoomNames = []
})
// everything under here will be executed before .then
推荐阅读
- elasticsearch - Elasticsearch 中基于 OpenID 的用户身份验证的区分大小写的电子邮件 ID 处理程序
- javascript - 在 Angular 应用程序中使用 ngx-monaco-editor 导致 404
- java - 在执行之前安装 Maven 插件
- javascript - Angular:未能实现搜索管道
- python - Why dont I have the modified dictionary in Robot, even though the Python keyword has modified the dictionary?
- python - 我不明白如何在 Z3py 中开发长度方法
- docker - 无法使用类型提供程序,仅在 docker 中使用文件作为源
- android - 如何在 ListView 中使用 DataBinding?
- laravel - Laravel 5 Mail::raw 在修补程序中有效,但在应用程序中无效
- proxy - CentOS VM 无法通过代理连接到 Internet