Обещания zone.js возвращают ошибку необработанного отказа в обещании даже с блоками перехвата - PullRequest
0 голосов
/ 15 мая 2019

Я работаю в угловой среде с 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.Любая помощь здесь будет полезна

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...