所以我试图将项目推送到数组,尽管数组中有项目,但它似乎返回的长度为0。

let calendarDates = []

async function getDates() {
    const response = await fetch('/calendars/fetch_dates')
    let res = await response.json()
    res.forEach(el => {
        calendarDates.push(el)
    })
}

getDates()
createCalendar(date, side)
.
.
.

function createCalendar(date, side) {
    console.log('createCalendar', calendarDates, "is array?", Array.isArray(calendarDates), 'length', calendarDates.length)
.
.
}


我的console.log正在打印calendarDates和length:
array

console log for length

console.log位于单独的函数中

那么为什么长度返回0?
当尝试控制台登录一个forEach循环时,什么也没有返回,所以我不觉得它的浏览器显示了错误的值

最佳答案

这会有所帮助



async function Main() {
  let calendarDates = []
  calendarDates = await getDates();
  createCalendar(date, side)
}

async function getDates() {
  const response = await fetch('/calendars/fetch_dates')
  return await response.json();
}

function createCalendar(date, side) {
  console.log('createCalendar', calendarDates, "is array?", Array.isArray(calendarDates), 'length', calendarDates.length);
}


Main();

10-08 08:40