Express 我需要在res.send()之后调用next()吗?
如果我调用了Express 我需要在res.send()之后调用next()吗?,express,Express,如果我调用了res.send(),但没有调用next(): 在此中间件之后的任何中间件都不会执行 如果此中间件不是最后一个中间件,那么请求将永远“挂起”,并且不会被垃圾收集,因为它仍在等待调用next() 以上是我试图证明我应该始终调用next(),这是真的吗?您不需要调用next()来完成发送响应res.send()或res.json()应结束对响应流的所有写入并发送响应 但是,如果要在发送响应后进行进一步处理,您完全可以调用next(),只需确保在调用res.send()后不会写入响应流即可
res.send()
,但没有调用next()
:
next()
next()
,这是真的吗?您不需要调用next()
来完成发送响应res.send()
或res.json()
应结束对响应流的所有写入并发送响应
但是,如果要在发送响应后进行进一步处理,您完全可以调用
next()
,只需确保在调用res.send()
后不会写入响应流即可
请求和响应
对象,因此如果通过任何中间件发送响应
,则将跳过所有下一个中间件next()执行进一步的操作代码>但是你不能再做res.send()
或res.json()
了
如果你喜欢这个答案,请接受它,谢谢。但是默认情况下,是express写东西吗?因为我没有额外的中间件,如果我调用它,我会得到一个错误。默认情况下,express有中间件,如果没有中间件处理请求,它将发送404错误。如果您放入中间件,并且不调用next(),那么您将不会得到404。