在节点js中设置grpc函数的超时

尝试创buildgrpc连接的超时,如果服务器grpc实现没有指定callback函数,但是看起来无论选项(new Date()。getSeconds()+ 5)中指定了什么,客户端不会终止连接

function hello (call, callback) { console.log(call.request.message) } server.addService(client.Hello.service, {hello: hello}); server.bind('localhost:50051', grpc.ServerCredentials.createInsecure()); server.start(); grpcClient = new client.Hello('localhost:50051', grpc.credentials.createInsecure(),{deadline: new Date().getSeconds()+5}); // grpcClient.hello({message: "abc"}, function(err, response) { console.log(response) // doesn't reach here because function hello doesn't callback }) 

好吧似乎得到它与下面的代码工作:

 var timeout_in_seconds = 5 var timeout = new Date().setSeconds(new Date().getSeconds() + timeout_in_seconds) grpcClient.hello({message: "abc"},{deadline: timeout}, function(err, response) { console.log(err) console.log(response) });