【问题标题】:How to call multiple API's asynchronously in Vue js如何在Vue js中异步调用多个API
【发布时间】:2019-08-07 07:33:07
【问题描述】:

我有一些函数在方法中调用 API,并希望将它们作为 Promise 执行。

methods: {
      promise1() {
        alert("1");
      },
      promise2() {
        alert("2");
      },
      promise3() {
        alert("3");
      }
}

我该怎么做?

编辑:标题更改为显示我想异步调用 API。

【问题讨论】:

  • 将它们作为 Promise 执行”是什么意思?您发布的代码中没有任何异步内容,因此使用 Promise 的理由为零。
  • @Bergi 我的目的是一个一个地分别运行函数,并确保下一个函数在前一个函数完成时运行。如果有更好的方法,请告诉我。
  • 你的函数是做什么的?它们是异步的吗?
  • 它们都不是异步的。例如,我想调用两个 api,然后运行一个函数。我想我可以选择更好的方法来做到这一点。我可以将最后一个函数作为第二个函数的回调传递。
  • 然后写method1(); method2(); method3();。没有异步,没有承诺。

标签: vue.js promise vuejs2


【解决方案1】:

我找到了解决方案并在此处添加:

methods: {
        promise1() {
          alert("1");
        },
        promise2() {
          alert("2");
        },
        promise3() {
          alert("3");
        }
    },
    mounted() {
      Promise.all([this.promise1(), this.promise2(), this.promise3()])
      .then(function() {
         alert("Finished");
      });
    }

mounted() 中我们可以写一个promise.all() 并在数组中添加函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2021-11-05
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多