express 如何在其他函数中终止本次请求,并且向客户端返回数据,详细如下。
发布于 6 年前 作者 RajanZhan 3150 次浏览 来自 问答

使用的是express 框架

express 的路由如下

myRouter.js

router.get("/",(req,res)=>{ let stop = require(“stop.js”); stop(res); // 在这里就终止了本次执行请求

res.end(“结束了”); // 这里不会被调用 })

==================分割线=============================== stop.js

module.export = (res)=>{

}

========================分割线==================================

我希望的结果是 在stop函数中执行完后,直接就终止了本次执行, 无需添加任何代码来终止。 请问如何写stop.js 中的代码??????

4 回复

我是调用 assert() 判断业务逻辑并抛异常, 然后有中间件捕获异常, 向客户端返回错误消息

自己搞的土办法, 不知道正式工程中有什么更好的解决方案吗?

不应该这样操作。 如果在中间需要停止执行,应该由中间的方法返回一个状态或者抛出一个异常,在外面捕获处理。 你这个stop如果逻辑复杂了,代码逻辑会非常不清晰。

return stop(res);

回到顶部