簡體   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