axios同时多次调用同一api,等全部正确返回的时候执行下一步问题。

发布于 2022-09-11 15:05:18 字数 346 浏览 13 评论 0

现在封装了一个 api 叫 postItemData(){}; 提交数据的时候会在 submit(){} 通过一个数组里面的项目多次调用此api,如下:

    postItemData(data){ 
        axios.post(data).then()
    },
    submit(array){
        array.forEach(item => {
            this.postItemData(item)
        })
    }

请问 怎么等所有请求正确返回之后执行 回调函数? 感觉应该使用 axios.all ,请求该怎么书写? 谢谢了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

_畞蕅 2022-09-18 15:05:18
Promise.all([请求1,请求2, ...])
  .then(res => {
    console.log(res)
    // doSomething...
  })

如果不明白的话,可以看一下我在知乎写的教程 https://zhuanlan.zhihu.com/p/...

油焖大侠 2022-09-18 15:05:18
 axios.all([
        axios.get('https://api.github.com/users/mzabriskie'),
        axios.get('https://api.github.com/users/mzabriskie/orgs')
      ]).then(axios.spread(function (user, orgs) {
        document.getElementById('useravatar').src = user.data.avatar_url;
        document.getElementById('username').innerHTML = user.data.name;
        document.getElementById('orgs').innerHTML = orgs.data.map(function (org) {
          return (
            '<li class="row">' +
              '<img src="' + org.avatar_url + '" class="col-md-1"/>' +
              '<div class="col-md-3">' +
                '<strong>' + org.login + '</strong>' +
              '</div>' +
            '</li>'
          );
        }).join('');
      }));

https://github.com/axios/axio...

梦开始←不甜 2022-09-18 15:05:18

promise.all

情愿 2022-09-18 15:05:18
    postItemData(data){ 
        return axios.post(data)
    },
    submit:async function(array){
        await Promise.all(array.map(item => this.postItemData(item)));
        //执行下一步
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文