所有异步请求完成后的回调

发布于 2022-09-06 15:35:15 字数 614 浏览 19 评论 0

vue的项目中现在有这两个方法,有个C方法,需要在这两个异步请求的方法完成后才执行,要怎么写,新手求问,
这两个方法都使用了es6的promise 和 axios这个库

created() {
  this._getChannelList()
  this._getRecentContact()
},
method: {
    _getChannelList() {
      getChannelList(this.getCookie('sender'), this.getCookie('version')).then(res => {
        // 成功
      }).catch(err => {
        console.log(err)
      })
    },
    _getRecentContact() {
      getRecentContact(this.getCookie('sender')).then(res => {
        // 成功
      }).catch(err => {
        console.log(err)
      })
    },
    c() {
       // 需要在上面两个方法都请求完毕才执行
    }
}

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

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

发布评论

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

评论(3

迷你仙 2022-09-13 15:35:15

axios可以执行多个并发请求

function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // 两个请求现在都执行完成
  }));
下雨或天晴 2022-09-13 15:35:15

可以用 Promise.all 来控制流程

流云如水 2022-09-13 15:35:15

用 Promise 可以轻松搞定:

Promise.all([this._getChannelList(), this._getRecentContact()])
  .then(() => {
    this.c();
  });

既然被邀请了,那我顺手推荐一下我的讲堂吧:Promise 的 N 种用法,讲解 Promise 的各种常见用法。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文