Я работаю в угловой среде с zone.js, поэтому все обещания es6 были перезаписаны обещаниями с учетом зоны.У меня есть 2 функции с именем save () и onSaveCb ()
save () вызывает функцию с именем validate () , которая получает ошибку-коды любого из сохраненных объектов, уже присутствующих в файле, поэтому это делается синхронно.
если hasError () возвращает true, мы возвращаем Promise.reject () из save (), в противном случае мы отправляем запрос на сохранение бэкэнду.
Теперь Функция onSaveCb () - это асинхронная / ожидающая функция, которая имеет блок try-catch около save () .
Проблема:
Когда Promise отклоняется из функция save () , я вижу ошибку журнала консоли:
zone.js: 682 Необработанный отказ от обещания:;Зона:;Задача: Событие onClick;Значение: Ошибка:
Я пытался сделать несколько вещей, поместив функцию save в обещание и затем отклонив ее, но я все еще вижу ту же ошибку
function save() {
let errorCode = this.validate(); // This is a sync call
if(errorCode !== 0) { return Promise.reject(errorCode);}
return https(url).then(function() {return true});
}
function async onSaveCb() {
try{
let response = await this.save();
alertUI(response);
} catch (response) {
alertUI(response);
}
}
Я не уверен, почемуЯ получаю это сообщение, когда четко записал обработку ошибок в блоке catch.Любая помощь здесь будет полезна