Angular 未兑现的(承诺中的)未定义的

Angular 未兑现的(承诺中的)未定义的,angular,typescript,google-chrome,promise,Angular,Typescript,Google Chrome,Promise,我在chrome中遇到以下错误,不知道它来自何方: 唯一真正告诉我的是我最近重构了大约10000行代码,这个错误出现在中间。这是有角度的。我知道如何抓住承诺,用棱角分明的语言。我正在使用错误处理程序尝试捕获它,但这不起作用,我也尝试了: window.addEventListener('unhandledrejection', function (promiseRejectionEvent) { console.log(promiseRejectionEvent); console.l

我在chrome中遇到以下错误,不知道它来自何方:

唯一真正告诉我的是我最近重构了大约10000行代码,这个错误出现在中间。这是有角度的。我知道如何抓住承诺,用棱角分明的语言。我正在使用错误处理程序尝试捕获它,但这不起作用,我也尝试了:

window.addEventListener('unhandledrejection', function (promiseRejectionEvent) {
  console.log(promiseRejectionEvent);
  console.log('here!!!!!')
});
window.onerror = function (promiseRejectionEvent) {
  console.log(promiseRejectionEvent);
  console.log('AHHHH')
};
两个人都没有发现错误。我不知道这个错误是从哪里来的。每次我重新加载页面时,它都会出现

出于真正的好奇,我试着去chrome中的链接,它指向。。。所以这不是很有帮助


此错误在firefox中不会发生。

消息
Uncaught(承诺中)
是zone.js的一部分:

使用chrome开发工具,可以在所有文件(cmd/ctrl+shift+f)中搜索此文本,也可以跳转(cmd/ctrl+p)到zone.js并查找“Uncaught”。放置一个断点,重新加载页面,并在遇到断点时检查调用堆栈


希望这会给你指明正确的方向。

错误告诉你有错误,但你没有抓住它。最可能的情况是,您可以检查负责路由器的路由
/app/outbound/cell dial
或与此相关的任何路由保护功能

有关路由的更多信息,尤其是有关路由器防护的信息:

其他选择将是:

  • 使用重新安装依赖项
  • 从上次提交/合并/拉取一步一步检查您的回购差异

  • 检查您的版本,因为有可能您的依赖项版本与以前不同,但设置不正确

一般来说,这就是你如何抓住它(你可能已经知道了,但我仍然提到它以防万一):

更多信息:

或使用异步/等待:

//some async function
try {
    let response = await getAllPosts();
} catch(e) {
    console.log(e);
}

尝试以匿名方式运行代码

我找到了答案,但不太令人满意。这是一个微软的Office扩展,不知何故注入了zone.js中一半的东西,但有点不一样。我不知道那是怎么发生的

查找错误:


如果在异常时使chrome暂停,则它将在此错误时停止。错误出现在content.js文件中,该文件不在我的项目中,所以我说“嗯…”。然后,我通过右键单击sources选项卡转到文件的位置,发现错误在Office扩展名中。因此,如果您得到了未捕获(承诺中)未定义的
,这是因为zone.js错误处理正在捕获它。我不知道如何操作,但请尝试以匿名方式运行您的代码。

很抱歉,这里没有人能够帮助您。只是没有足够的信息。我真的认为没有人能告诉我如何调试这个。。。但是我很有希望把这篇文章发到这里,这样将来遇到这个奇怪错误的人会发现他并不是唯一一个悲伤的人。提示:你的错误在
手机拨号的第一行代码中。我还想问,为什么一个不懂angular的人负责重构10000行代码……真的吗。。。。??我知道。那10000条线路中的大部分都是我建的。错误肯定不在手机拨号的第一行。这指向我的index.html文档。我想您是在prod模式下构建应用程序的。尝试使用设置为true的sourceMap标志构建它,并尝试从inspector调试代码。虽然不是真正正确,但我给了您分数,因为它为我指明了正确的方向。谢谢@SamuelCompson,希望您发现问题-有什么值得分享的吗?
getAllPosts().then(response => {
    console.log(response);
}).catch(e => {
    console.log(e);
});
//some async function
try {
    let response = await getAllPosts();
} catch(e) {
    console.log(e);
}