我有一个处理 HTTP 请求的 Vue 指令。我正在尝试做的是利用承诺并将 SweetAlert 挂钩到流程中。我首先启动 onRequestSubmit
bind: function () {
this.el.addEventListener('click', this.onRequestSubmit.bind(this));
},
在 onRequestSubmit
onRequestSubmit: function (e) {
e.preventDefault();
this.fireFlashMessage()
.then(this.vm.$http[this.getRequestType()](this.el.getAttribute("data-delete-url"), this.aggregateData()))
.then(this.onComplete.bind(this))
.catch(this.onError.bind(this));
},
我希望 fireFlashMessage 在用户确认时返回 true,以便 onRequestSubmit 可以委托请求。
我的问题是:我应该将 fireFlashMessage 包装在一个 Promise 中并在调用成功返回时继续执行then吗?我对 Promises 很陌生,有点难以理解它们。