请求断开事件不会触发节点 v16 下的某些 HTTP 方法
{\fn华文仿宋\fs16\1cHD1D1D1}快跑! {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 您必须完成整个问题模板才能获得支持 。 您不能删除、更改或替换模板。 如果报告缺失或不完整,您的问题将不经评论而得到解决。 请尊重进入本模板的时间和经验。 这是有原因的 谢谢! {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? . > 时间
- 支助计划
{\fn华文仿宋\fs16\1cHD1D1D1}快跑! 我们是来帮忙的!
基于社区的支助就其性质而言仅限于能够提供帮助的社区成员。 大多数社区支助问题在两周内得到解决。 在提交一个问题之前,请审查https://hapi.dev/support/上提供的各种支助选项。 该页载有关于提出问题的不同方式的有用信息。 . > 时间
这个问题目前妨碍你的项目? * (是/否):否
这个问题是否影响到生产系统? * (是/否):否
背景情况
节点版本:v16.12.0/v15.1.4.0.
有问题的单元版本*: 20.2.1 ** 最后模块版本没有问题*:无
*环境 (如节点,浏览器,原生地):节点 ** 与(例如,appi应用,另一个框架,独立,.):n/a
任何其他有关资料:
你想达到什么目的 或再生的步骤?
{\fn华文仿宋\fs16\1cHD1D1D1}快跑! 详细描述你的问题,包括复制问题的全部步骤、任何配置、计划、代码样本或所需投入。 确保将所有代码示例用回转键包入,以便正确显示。 在提交出问题之前, 请确定单击上面的预览标签以校验所有文件的格式正确 。 . > 时间
请求的 " 断开 " 事件似乎只对GET请求开火,但对从节点JS v16开始的其他HTTP方法则不开火。 并参见以下测试脚本. 有了节点v15 它为所有人开火。 在这两个版本中, " 完成 " 事件似乎也没有触发GET。 我不知道为什么最初http方法之间的巴哈维乌尔语有区别.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? Const Hapi = 需要 ('@ hapi/ hapi' ) ; 净值 = 要求('net'); comst { setTimeout}} = 需要 ('timers/ promise') ;
const check = async(方法) {{{{{} 控制台.log(方法) Const 服务器 = Hapi. server ({ 端口: 8000 个, 主机: “ 0.0. 0.0” , ) (中文(简体) ).
服务器.ext('on request', (request, h) {{ request.events.on ('deconnection', () {} { 控制台.log ('deconnection' )}; request.events.on ('inish', () { { consember.log ('inish' })};
返回 h. 继续; ) (中文(简体) ).
服务器. route( { 方法:方法, 路径 : “/测试” , 处理器: async (request, h) {{ 等待定时出局( 100); 返回 h. 答复 (); {\fn华文楷体\fs16\1cHE0E0E0}
- ;
等待服务器. start ();
const sock = 新网. 套接字( C) ; 套接字( { ) 主机: 服务器. info.host, 端口:服务器.info.port,
- ;
等待新的承诺( 解决) {{ socket.on(“ 连接” , 函数 () { socket.write('${方法}/test HTTP/1.1\r\nHost:主机\r\n',ASync () {{} socket.dstroy () (中文(简体) ). 等待时间( 100) ; 等待时 . . . . . . .
内容来源: hapijs/hapi