我有AngularJS的代码:
service.doSomething()
.then(function(result) {
//do something with the result
});
在AngularJS 1.5.9中,当我在以下.then()
部分中出现错误时:
service.doSomething()
.then(function(result) {
var x = null;
var y = x.y;
//do something with the result
});
我收到明确的错误消息:
TypeError:无法读取null的属性“ y”
但是在具有相同代码的1.6版中,我得到了一个不同的错误:
可能未处理的拒绝:{}未定义
我知道这与此更改有关,并且单个解决方案通过添加.catch()
block
非常简单:
service.doSomething()
.then(function(result) {
var x = null;
var y = x.y;
//do something with the result
})
.catch(console.error);
现在我又有了我想要的东西:
TypeError:无法读取null的属性“ y”
但是,如何在整个应用程序中获得相同的结果(更详细的错误)而不.catch()
在每个位置添加块?
我通过添加以下内容测试了建议的解决方案以禁用此功能:
$qProvider.errorOnUnhandledRejections(false);
但是有了这种情况,情况就更糟了-控制台中什么也没有!错误被吞没在某个地方,根本没有记录。我不确定AngularJS 1.6或我的配置是否有问题。
您是否有任何想法如何从1.5.9版“还原”日志记录行为?
编辑:
添加自定义错误处理程序:
.factory('$exceptionHandler', function($log) {
return function(exception, cause) {
$log.warn(exception, cause);
};
})
根本没有帮助。在错误处理程序中,我已经收到“包装的”错误。
此问题已通过fix($
q)
进行了修复:向未处理的Promise拒绝中添加回溯-
提交316f60f
,该修复程序包含在v1.6.1版本中。
我得到以下错误: 这是promise代码,我看不出有什么问题,有什么想法吗? 编辑: 我添加了一个catch函数,得到了一个更好的错误: 这是索引。网间网操作系统。js代码。url很好,并为我提供了正确的json数据。我可以通过控制台日志看到这两个在中提供。但是未定义。 我仍然不确定发生了什么,为什么有问题,为什么它是未定义的。
问题内容: 在Angular应用程序中,我们有一个解决承诺的模式,直到Angular 1.6.0为止,我们的服务一直很好: 这就是我们如何触发业力中的错误: 现在,随着更新至1.6.0,Angular突然在我们的单元测试中(在Karma中)抱怨带有“可能未处理的拒绝”错误的拒绝承诺。但是,我们正在处理第二个调用错误服务的函数中的拒绝。 Angular在这里到底要寻找什么?它希望我们如何“处理”拒绝
当我运行部署我的应用程序的命令时,我发现以下错误 (节点: 6292)UnhandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHan
我目前正在创建一个食品订购系统,我正在尝试在一个反应原生项目上建立Firebase 该应用程序允许我使用firebase的身份验证,我可以成功登录并注册新用户,但它不允许我使用firestore我正在尝试在my中的以下代码中进行控制台日志,以查看firestore是否将与该应用程序一起运行 下面是该应用程序的列表。js/我调用firestore集合的屏幕 错误如下所示 Firebase错误//错误
我想在Repl上为我的游戏实现一个基本的排行榜。它,所以我创建了一个节点。js后端。这是我在后端的配置: 但是每当我尝试发布时,我都会得到以下错误: (节点:344)未处理的PromisejectionWarning:TypeError:无法读取null的属性“push” (节点:344)UnhandledPromiseRejtionWarning:未处理的promise拒绝。这个错误要么是由于抛
我试图执行下面的代码,但它在管道中抛出未处理的promise拒绝警告。在本地,它工作正常,没有任何问题。 日志错误:找不到进程“3224”。(节点:836)未处理的PromisejectionWarning:#(节点:836)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。c