- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
浏览器控制台显示以下错误:
zone.js:668 Error: Uncaught (in promise): [object Undefined]
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at zone.js:873
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:595)
at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:500)
at invokeTask (zone.js:1540)
at globalZoneAwareCallback (zone.js:1577)
我不知道去哪里查看源代码。
更新:在 Firefox 下打开的同一页面显示消息:
Error: Uncaught (in promise): [object Undefined]
Stack trace:
resolvePromise@http://localhost:4200/polyfills.js:3131:31
makeResolver/<@http://localhost:4200/polyfills.js:3041:17
setError@http://localhost:4200/scripts.js:979:21
messageCallback@http://localhost:4200/scripts.js:1092:25
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:2738:17
./node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask@http://localhost:4200/polyfills.js:2505:28
./node_modules/zone.js/dist/zone.js/</ZoneTask.invokeTask@http://localhost:4200/polyfills.js:2813:24
invokeTask@http://localhost:4200/polyfills.js:3857:9
globalZoneAwareCallback@http://localhost:4200/polyfills.js:3883:17
zone.js:668
更新:如果错误与我新添加的拦截器源代码有关,这里是我如何处理可能的异常:
intercept(
request: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {
return this.addAuthHeader(request, next);
}
private addAuthHeader(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log('=======>> Intercepting the http request to add the jwt token in the header');
const tokenPromise: Promise<any> = this.keycloakClientService.getToken();
const tokenObservable: Observable<any> = Observable.fromPromise(tokenPromise);
tokenObservable.map(authToken => {
console.log('Token value: ' + authToken);
// Clone the request before it is sent to the server
// as the original request is immutable and cannot be changed
request = request.clone({
setHeaders: {
'Authorization': AUTH_HEADER_PREFIX + authToken
}
});
console.log('=======>> The request has been cloned');
});
console.log('Handle the request in the interceptor chain');
return next.handle(request)
.catch(response => {
if (response instanceof HttpErrorResponse) {
if (response.status === 401) {
// TODO redirect to the login route or show a modal
}
console.log('The error has been handled by the interceptor', response);
}
return Observable.throw(response);
})
.do((response: HttpEvent<any>) => {
if (response instanceof HttpResponse) {
console.log('The response has been handled by the interceptor', response);
}
});
}
最佳答案
zone.js:668 Error: Uncaught (in promise): [object Undefined]
这是在您的源代码范围之外发生的错误。这就是为什么没有与您可以直接调试的内容相关的堆栈跟踪。您可能会尝试更改源代码或添加控制台日志消息,但我猜这不会帮助您找到它。
这很可能是配置错误。
当 Angular 无法加载模块时,您可能会收到此错误。检查每个模块并确保所有声明、导入、导出等都是正确的。确保您使用正确的注入(inject) token 和可注入(inject)引用。
如果在应用程序启动后发生这种情况。延迟加载模块可能会失败。再次重复上述步骤。
如果这不能帮助找到原因,那么您需要删除尽可能多的内容,然后慢慢将它们添加回来。直到找到罪魁祸首。
创建一个什么都不做的空组件,并将其作为您的入口组件。注释掉所有提供者并注释掉所有声明。继续注释掉主模块使用的内容,直到应用程序成功启动。
慢慢地,重新添加您的提供程序和声明,直到它再次中断。
这应该可以帮助您缩小模块配置问题所在的范围。希望这就是问题的原因。
当然还有很多其他的事情可能会触发这个错误。
zone.runOutsideAngular(()=>{....})
中,这样就不会跟踪任何未处理的错误按区域。ng build --prod --sourcemaps
ErrorHandler
服务并查看它是否捕获错误。因为这会让你检查抛出的物体。您可以像这样向模块添加一个提供程序 {provide: ErrorHandler, useClass: MyHandlerService}
其中 MyHandlerService
实现 ErrorHandler
。关于angular - 如何定位 Angular promise 或 observable 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50435853/
我必须从我的网站中删除()一些iem,然后将它们追加()回来,但是当我追加它们时,它们出现在不同的地方,而我希望它们完全显示在它们以前的同一个地方是。 有什么解决办法吗? 这是一个沙箱,请随意更新(注
一个。图片 (960x7)b. div(宽度:960,填充:10) 我想定位 (a),使其距顶部 50 像素,居中。我想将 (b) 放置在 (a) 的正下方,没有空格。 我的 CSS 如下: @cha
放置某物的正确方法是什么?我有一个在中心显示博客文章的 div。 "" rel="bookmark"> BY LOUIS MOORE ON " pubdate>
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭1
我已经成功地使用了 position:fixed 设置 CSS/CSS3 并且工作得很好! 我几天前看到了这个,想知道他们是如何实现向下滚动时发生的效果的,菜单栏在滚动前处于一个位置,然后转到顶部并自
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improv
接口定义 能够对于文字、段落乃至任何元素的精准定位 并做出增删改查,都是在开发一款富文本编辑器时一项最基本也是最重要的功能之一。让我们先来看看Slate中对于如何在文档树中定位元素是怎么定义的
例如,使用 WPF 在选项卡控件的最左上角定位三个 tabitem 和在最右上角定位一个 tabitem 的正确方法是什么? 我尝试通过更改边距将第四个 tabitem 向右移动,但这并没有产生好的结
我正在尝试使用 Javascript 创建一个跟随鼠标在页面上移动的东西。我希望它是米老鼠,我希望他的眼睛跟随鼠标移动他的眼球...这是我到目前为止的代码(从网络上的各个地方收集,因此归功于编写该部分
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 9 年前。 Improve
我试图将两个按钮放置在左上角。但它们始终位于顶部中心。 我已经尝试过这个: jp = new JPanel(); jp.setLayout(new GridBagLayout()); GridBagC
我在使用 JQuery 向下滑动功能时遇到问题。我可以让它正常工作,但是我向下滑动的元素的位置会根据视口(viewport)的大小而变化。我想做的是将它与它滑动的元素联系起来。 This JSfidd
我正在尝试创建一个棋盘,并将其放置在屏幕中间,但到目前为止我无法将它直接放在中间。我不想将位置硬编码到屏幕上,因为我要处理不同的屏幕尺寸。 var winsize = cc.director.
我正在尝试从 mysql 中的 2 个字符串点之间提取数据,我的示例脚本是 'otherdata&p1=textneeded&otherdata' 我需要拉出“textneeded”位,“P1=”是起
如何在 JavaFX 中设置按钮的位置?我的代码: bZero = new Button(); bZero.setPrefSize(45, 20); mainPane.getChildren().ad
我有一个 iPhone 应用程序,我可以在其中显示一系列图像。当用户点击图像时,我需要将该图像带到第一个位置,表明它是所选图像。我可以通过子类化实现 uiscrollview 中的点击。但是我无法将
在下图中,它显示了一个image、textbox 和一个css menu image 我的 CSS 菜单非常完美。我终于按照我需要的方式得到了它。我的问题是我需要导航栏中央的文本框,然后我需要我的图像
我必须创建一个看起来像这样的 div id为2的div应该出现在图片的右下角,图片的大小不固定id=2的div应该应用什么css id =1 的 div 没有定义位置,所以使用默认值,图像也是
如何将我的文本和图像对齐在同一行? 每当我使用 padding 或 margins 时,它就会崩溃到我正在使用的圆形图像中。 #alignPhoto { padding-right: 50px;
简单的问题,如何定位具有整个页面引用的元素? 在我的例子中,我在标题中得到了一个 float 图像,然后是 2 组标题。当我使用时: text-align: center; 它使用图像宽度端和页面其余
我是一名优秀的程序员,十分优秀!