【发布时间】:2020-07-10 08:06:31
【问题描述】:
我正在尝试替换使用 Axios 发送 http 请求的循环。 http 是一个 Axios 对象并返回一个承诺。我想更改代码以便使用 Promises.all() 而不是循环。我正在尝试创建一个 Promise,推入一个数组,然后传递给 Promises.all。我的 promises 数组中只有空数组。
如果我做错了什么,我将不胜感激。
// Converting this
responseData = [];
for (const record of response.records) {
let response = await http.get('/records/' + record.id);
responseData.push(response.data.data);
}
// I am trying to convert to this ..
let promises = [];
for (const record of response.data.data) {
let promise = new Promise((resolve, reject) => {
let response = http.get('/records/' + record.id)
.then(response => {
return response.json();
})
.then(resp => {
// console.log(resp.data.data);
//return resp.data.data
resolve(resp.data.data);
});
return response;
});
promises.push(promise);
}
Promise.all(promises).then(records);
【问题讨论】:
标签: javascript axios es6-promise