试图使用异步逻辑在内部方法中两次发出$ emit

时间:2019-02-14 15:16:52

标签: vue.js

在我的方法中,我两次调用$emit,但只有第一次尝试-reportDownloadStarted有效,如果我注释掉第一次尝试,则只有第二次尝试-reportDownloadFinished有效。这是我的方法:

downloadReport() {
  this.$emit("reportDownloadStarted", true);
  const endpoint = this.getEndpoint();

  const someDummyData = []
  reportsRequest({
    url: endpoint,
    method: "post",
    data: someDummyData 
  })
    .then(res => {
      let link = `${process.env.VUE_APP_BASE_URL}/${res.data}`;
      if (res.status === 200) {
        window.open(link, "_blank").focus();
        this.$emit("reportDownloadFinished", true);
      }
    })
    .catch(e => {
      console.log(e);
      this.$emit("reportDownloadFinished", false);
    });
}

你知道是什么原因导致这种行为吗?谢谢

0 个答案:

没有答案