在我们的 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);
});
下面是我们如何在 Karma 中触发错误:
resourceMock.get = function () {
var deferred = $q.defer();
deferred.reject(error);
return { $promise: deferred.promise };
};
现在,随着更新到 1.6.0,Angular 突然在我们的单元测试(在 Karma 中)中抱怨被拒绝的承诺,并出现“可能未处理的拒绝”错误。但是我们正在处理调用错误服务的第二个函数中的拒绝。
Angular 到底在寻找什么?它希望我们如何“处理”拒绝?
原文由 Groucho 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试将此代码添加到您的配置中。我曾经遇到过类似的问题,这个变通办法解决了问题。