我们有一个模式来解决我们的角度应用程序的承诺,已经为我们提供了良好的直到角度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 突然在我们的单元测试中(在 Karma 中)抱怨由于“可能未经处理的拒绝”错误而被拒绝的承诺。但是我们在调用错误服务的第二个函数中处理拒绝。
Angular 到底在这里寻找什么? 它希望我们如何“处理”拒绝?