【发布时间】:2021-05-20 23:01:13
【问题描述】:
我在一个项目中使用 vuex。在商店中,我创建了一个函数,该函数以 API 形式返回来自 id 数组的所有用户的信息。像这样:
async function getUsersdata(userIds){
let userData = new Array()
userIds.forEach(async (id) => {
const url = baseUrl + id + '/'
const data = await getUserDetails(url)
userData.push(data)
})
return userData
}
后来我使用了这个函数,当我尝试在函数返回的数组上执行 foreach 时,forech 不起作用。但是如果控制台记录整个数组,数组会正确显示
let Users = await getUsersdata(idArray)
console.log(await Users)
Users.forEach(User => console.log(User.name))
当我尝试控制台记录数组的长度时,它返回 undefined 或 0,当我使用 .sort() 或 .map() 等函数时,它也不会执行。
【问题讨论】:
标签: javascript arrays api asynchronous async-await