【发布时间】:2019-01-31 02:34:01
【问题描述】:
let currComp = this;
let projects = []
let dataArr = []
async function getData() {
let getProject =
await axios.get('url', {
auth: {
username: 'username',
password: 'pw'
}
})
let projects = await getProject.data.value;
let arr = []
let KPIs = []
projects.map(project => {
let item = () => axios.get(`url`, {
auth: {
username: 'username',
password: 'pw'
}
})
arr.push(item)
console.log('arr', arr)
})
let results = await axios.all(arr)
results.map(result => {
result().then(function(v) {
KPIs.push(v.data.value)
})
})
}
getData();
我想做的是:
获取 axios 调用以获取项目名称。
使用这些获取的名称来调用多个 axios 调用。这应该会给我该项目的一些数据。
results = await axios.all(arr)包含向我提供 API 调用响应的函数。响应被推送到数组
KPIs。当我最后尝试
console.log('KPIs', KPIs)时,它给了我
这似乎是一个空数组,但是当我打开它时,
它实际上具有我想要的价值。
问题是,当我尝试在我的代码中使用这个数组时,它只给了我数组的第一项。
我试图在网上搜索这个问题,它只告诉我值迟到了。
我想使用带有完整结果的完整数组。
我该如何解决?
【问题讨论】:
-
你为什么要创建这个函数数组?
标签: javascript asynchronous axios