У нас есть шаблон для разрешения promises в нашем Angular приложении, которое хорошо нас обслуживало до Angular 1.6.0:
resource.get().$promise
.then(function (response) {
// do something with the response
}, function (error) {
// pass the error the the error service
return errorService.handleError(error);
});
И вот как мы вызываем ошибку в Карме:
resourceMock.get = function () {
var deferred = $q.defer();
deferred.reject(error);
return { $promise: deferred.promise };
};
Теперь, при обновлении до версии 1.6.0, Angular неожиданно жалуется на наши модульные тесты (в Карме) для отклонения promises с ошибкой "Возможно необработанное отклонение". Но мы обрабатываем отказ во второй функции, которая вызывает нашу службу ошибок.
Что именно ищет Angular здесь? Как он хочет, чтобы мы "отреагировали" на отказ?