尝试关闭模态时可能出现未处理的拒绝

Possibly unhandled rejection when try to dismiss a modal

我的模态框上有一个取消按钮,并且有一个点击函数调用:

onCancelClick: function () {
    $uibModalInstance.dismiss()
}

它的工作但出现此错误:

Possibly unhandled rejection: undefined

或者当点击 esc 键时:

Possibly unhandled rejection: escape key press

我知道我可以在我的配置中使用以下代码并关闭这些类型的错误:

app.config(function ($qProvider) {
    $qProvider.errorOnUnhandledRejections(false);
});

但我想解决它。 你知道我该如何解决这个问题吗?

如果你不想传递任何理由,你可以使用$uibModalInstance.close()。你可以有像这样的 catch 块:

try{    
  $uibModalInstance.dismiss();
} catch (err){
//Check what error you are getting.
}

可能是 reason 参数的错误,这在 dismiss 函数中是预期的,但我不确定。

要避免 possibly unhandled rejection 消息,只需处理拒绝:

var modalPromise = $uibModal.open(options).result;

modalPromise
  .then(function(result) {
    console.log("Modal closed with result", result);
}).catch(function(reason) {
    console.log("Modal dismissed with reason", reason);
});

$uibModal.open 方法 returns 一个对象,其 result 属性 是一个承诺,它通过 result 的参数实现.close 操作,或被 .dismiss 操作的 reason 参数拒绝。

有关详细信息,请参阅 UI-Bootstrap Directive API Reference - uib.bootstrap.modal