ExpressJS路由未调用响应方法时哪些选项会导致请求挂起
问题解答:ExpressJS路由处理未调用响应方法导致请求挂起的场景判断
会导致用户请求挂起的是选项2和选项3,各选项具体分析如下:
- 选项1:代码中调用了
res.redirect('/user/all'),这是Express内置的响应方法,会向客户端返回3xx重定向响应,请求正常结束,不会挂起。 - 选项2:路由处理函数为空,既没有调用任何响应方法向客户端返回内容,也没有调用
next()将请求转交后续中间件处理,请求会一直处于等待状态,最终挂起。 - 选项3:仅执行了
console.log('handling req')打印日志的操作,没有调用任何响应方法,也没有调用next()转交请求,请求会一直等待响应,最终挂起。 - 选项4:代码中调用了
res.send('user data'),会向客户端返回对应响应内容,请求正常结束,不会挂起。 - 选项5:代码中调用了
res.end(),会直接结束当前响应流,请求正常结束,不会挂起。
内容的提问来源于stack exchange,提问作者Niladri Banerjee - Uttarpara
相关产品推荐
相关产品推荐

