我有一个 Node API,在使用 postman 测试时工作正常。 但是当我在我的 Angular 项目中使用这个 API 时,会发生错误,并且浏览器没有得到任何响应,它会继续等待响应。当我进入控制台时,我看到错误消息。
如何将该错误消息发送回浏览器并提供完整的堆栈跟踪
最佳答案
一般来说,您需要捕获该错误,然后用它填充 http 响应对象,就像您将成功的响应数据发送回请求者一样。
同步处理:
try {
// do my requested stuff
res.status(200).json({something:"returned"});
} catch(ex) {
res.status(500).json(ex);
};
promise :
Promise.resolve()
.then(() => {
// do my requested stuff
// return my results stuff to the client
res.status(200).json({something:"returned"});
})
.catch((ex) => {
// return 500 error and exception data to the client
res.status(500).json(ex);
});
此外,作为标准做法,您应该捕获所有错误,并且至少应该向浏览器返回 500 res.status(500)
,这样您就不会在以下情况下将其挂起:出现意想不到的问题。
当然,您可以在响应中返回 html 而不是 json 和/或更多信息。
祝你好运。
关于node.js - 在nodejs中将错误消息发送回浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52598118/