首页 > 解决方案 > 无法从我的 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>

标签: javascriptarraysjsonaxios

解决方案


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

推荐阅读