如何解决循环内的api调用后未添加列表
我也想寻求帮助和解释,为什么会发生以下情况。
var list = []
if (undefined !== resp.data) {
Array.from(resp.data).forEach(async (data) => {
let id = data.id
await axios.get(`http://<server>:<port>/api/${id}`,{
headers: {
'Authorization': `${req.headers.authorization}`
}
}).then(resp => {
list.push(id)
}).catch(err => {
console.log(`error ${err}`)
})
console.log(JSON.stringify(list))
})
}
console.log('Last : ' + JSON.stringify(list))
在上述情况下,假设axios获取请求成功,因此它将在list
中添加ID。
,但是最后的输出仍然为空[]
。
我也观察到一些奇怪的情况
您可以看到,即使我在此处添加了console.log('Last : ' + JSON.stringify(list))
关键字,也首先执行了await
。
最后,是否可以解决此问题?我只想在列表末尾添加项目。 Array.from.forEach()
之前的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。