Node.js 在electron中的渲染器进程中运行时,gRPC响应未在setTimeout内发送到客户端

Node.js 在electron中的渲染器进程中运行时,gRPC响应未在setTimeout内发送到客户端,node.js,electron,grpc,grpc-node,Node.js,Electron,Grpc,Grpc Node,我正在使用@grpc/grpc js模块,我已经设置了一个示例grpc服务器: 当我在electron中运行gRPC服务器时,如果我在“超时”后发送响应,那么响应根本不会发送到客户端。它没有正确关闭http2流。当直接在节点中运行时,同一台服务器工作正常,但在通过electron运行时出现此问题 如果我直接在超时函数外部发送响应,则不会发生此问题 演示该问题的示例最小项目: 预期行为 当gRPC服务器发送带有或不带有超时的响应时,响应应到达客户端,相关流应正确关闭 实际行为 虽然服务器发送响应

我正在使用
@grpc/grpc js
模块,我已经设置了一个示例grpc服务器:

当我在electron中运行gRPC服务器时,如果我在“超时”后发送响应,那么响应根本不会发送到客户端。它没有正确关闭http2流。当直接在节点中运行时,同一台服务器工作正常,但在通过electron运行时出现此问题

如果我直接在超时函数外部发送响应,则不会发生此问题

演示该问题的示例最小项目:

预期行为 当gRPC服务器发送带有或不带有超时的响应时,响应应到达客户端,相关流应正确关闭

实际行为 虽然服务器发送响应,但响应没有到达客户端。因此,连接和流不会关闭

我也在这里提出了这方面的问题:


我认为
超时
仅用于设置打开连接的截止日期。根据
doc
阅读本文,如果我理解正确,您已经在绑定服务器,因为它的结果将是异步的,那么
settimeout
有什么用呢。