Angular 1.6.0:"可能未处理的拒绝"错误

75

我们在Angular应用程序中解决Promise的模式一直有效,直到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到底在这里寻找什么?它希望我们如何“处理”这个拒绝?


1
我也注意到了我们代码库中的这个问题。奇怪的是,使用Chrome启动器运行测试套件却没有问题。PhantomJS才是在抱怨。 - Mario Tacke
如果您收到此消息并且没有刚刚升级,请按照以下步骤检查您的Angular版本: https://dev59.com/1mQo5IYBdhLWcg3wfPUa - hubatish
被接受的答案建议隐藏错误。重复建议使用更强大的替代方案,此答案提供了更好的解决方法。 - georgeawg
11个回答

0

也许不是你的具体情况,但我遇到了类似的问题。

在我的情况下,我正在使用angular-i18n,并异步获取区域设置词典。问题是它获取的json文件格式不正确(混合使用空格和制表符)。GET请求没有失败。

纠正缩进解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接