过去几个小时我一直在努力寻找一个关于如何处理NodeJS + ExpressJS 3 api错误的体面教程。
我已经在SO上阅读了很多问题/答案,并阅读了官方的ExpressJS指南,但仍然无法弄清楚做出如此重要的事情的正确方法。我发现的大部分答案都与Express 1或Express 2相关,但现在不再存在了,ExpressJS指南只是描述了一些脱离背景的东西,这使得它很难理解。
所以这是我的用例:我希望使用GET / cities /:slug获取有关城市的信息。如果slug不存在或发生错误(例如MongoDB或Mongoose),我想返回错误代码。
这是我当前代码的相关部分:
if (err || !city) {
res.json({code:500, city:[]});
}
这是一个基本的例子,它的工作“很好”,但我很确定这不是在NodeJS中做到这一点的正确方法。
此外,这不会停止我的NodeJS实例,但可能会出现一些意外错误。从我读到的,这不是生产中的问题,因为显然重新启动NodeJS实例更干净,第三方处理得相当好(阅读Cluster,Forever甚至Monit )。
我希望能够对这个问题有更深入的了解,我已经忽视了太长时间。