首页 > 解决方案 > 何时在 Express 中使用 return next(error) 与 return res.sendStatus

问题描述

我正在使用 express 在 Node.js 中创建后端 REST Api 服务器,我试图了解告诉客户端发生错误并且不继续使用中间件的“正确”方式是什么

在我当前的代码中......

如果我有路线 router.post('/test', [first, second]);

如果没有错误,我会return next()运行first第二个函数,然后return res.sendStatus(200)second

这是正确的,对吧?

但是现在假设发生错误是否first有意义return res.sendStatus(500)return next(new Error('Error has occurred'))

或者我应该做

res.sendStatus(500)
return next(new Error('error occurred'))

或者有没有办法在 return 中发送 statusCodenext(error)

我的理解是,无论如何使用return停止中间件的延续,所以我不知道该怎么做?

我应该只使用next()to continue 而从不使用next(error)吗?

标签: node.jsexpress

解决方案


推荐阅读