如何连续在axios中处理乘法请求?

时间:2019-06-01 10:03:14

标签: javascript axios

我的情况下,我有一系列对象

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]); 

0 个答案:

没有答案