Возможно необработанное отклонение, когда попытка отклонить модальное
У меня есть кнопка отмены на моем модале и есть функция щелчка, которая вызывает:
onCancelClick: function () {
$uibModalInstance.dismiss()
}
его работа, но сделать эту ошибку:
Возможно необработанное отклонение:
undefined
или когда нажмите на клавишу Esc:
Возможно необработанное отклонение: нажатие клавиши выхода
Я знаю, что могу использовать приведенный ниже код в моей конфигурации и отключить эти типы ошибок:
app.config(function ($qProvider) {
$qProvider.errorOnUnhandledRejections(false);
});
но я хочу решить это. Вы знаете, как я могу это исправить?
3 ответа
Чтобы избежать 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
метод возвращает объект, из которого result
собственность является обещанием, которое решается либо как выполнено с result
аргумент .close
операция, или как отклонено с reason
аргумент .dismiss
операция.
Для получения дополнительной информации см. Справочник по API UI-Bootstrap Directive - uib.bootstrap.modal
С использованием$uibModalInstance.close(false)
вместо$uibModalInstance.dismiss()
решит эту проблему
Если вы не хотите указывать причину, вы можете использовать $uibModalInstance.close()
, Вы можете иметь блок catch как:
try{
$uibModalInstance.dismiss();
} catch (err){
//Check what error you are getting.
}
Может быть ошибка только для reason
параметр, который ожидается в dismiss
функции, хотя я не уверен в этом.