我的情况下,我有一系列对象
let arr = [
{
data: "data1"
},
{
data: "data2"
},
{
data: "data3"
}
];
我想这样循环调用:
arr.forEach(() => {
axios.post(url, el.data).then(res => {
console.log(res.data);
});
})
.catch(err => console.log(err));
在这种情况下,它正在遍历数组并发送所有请求(例如机枪),然后它们分别返回。
我想要的是进行第一次调用(数组中的第一项),而不是仅在响应时返回正确或错误时等待响应。当我明白了。只要数组具有对象init,我就想获得第二个。
我发现了类似的东西,但我不知道是否会这样做
const axios = require('axios');
function makeRequestsFromArray(arr) {
let index = 0;
function request() {
return axios.get('http://localhost:3000/api/' + index).then(() => {
index++;
if (index >= arr.length) {
return 'done'
}
return request();
});
}
return request();
}
makeRequestsFromArray([0, 1, 2]);