繁体   English   中英

Express.js中发出请求和响应处理程序会导致问题吗?

[英]Will emitting request and response handler in Express.js cause problem?

我对我的Express应用程序上的设计模式有疑问,因此我将控制器包装在try and catch中,并且catch方法从控制器发出(req,res)处理函数,稍后将由将响应发送回的函数处理。客户端。 该代码或多或少是这样的:

 const errorExceptionHandler = fn => (req, res, next) => { fn(req, res, next).catch((err) => { emitter.emit('onControllerError', { err: err, req: req, res: res, next: next }) }) } 

上面的代码表示req,res和next,表示提供的默认参数。

 emitter.on('onControllerError', params => { const err = params.err const req = params.req const res = params.res const next = params.next if (!res.headerSent) { res.send({ status: 500, url: process.env.DEBUG ? req.url : undefined, message: process.env.DEBUG ? err.message : "Something went wrong!" }) } }) 

上面是'onControllerError'事件的处理方式,我担心的是,如果流量增加,这会在以后引起麻烦吗? 还是会向客户发送错误的回复?

此处增加的流量无关紧要,因为每个请求仍将独立处理,并且所有必需的数据都直接传递给事件处理程序。

所以不,根据您的代码,我无法想到它开始失败的任何原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM