如何在node.js中设置grpc客户端的超时时间

时间:2017-10-05 16:03:55

标签: javascript node.js grpc

我指的是node-grpc客户端的以下示例: https://github.com/grpc/grpc/blob/master/examples/node/dynamic_codegen/greeter_client.js

//create a client
var client = new hello_proto.Greeter('localhost:50051',
                                       grpc.credentials.createInsecure());

//issue the call
  client.sayHello({name: user}, function(err, response) {
    console.log('Greeting:', response.message);
  });

在此通话格式中,我在哪里提供通话截止时间选项。

此外,https://grpc.io/grpc/node/处的jsdoc从未进行过这种API调用。 有没有一个很好的教程,包括流rpcs,超时,保护频道等示例?

1 个答案:

答案 0 :(得分:2)

有一个可选参数可以在请求参数和回调之间传递其他选项。这包括deadline密钥。所以你会做这样的事情:

client.sayHello({name: user}, {deadline: deadline}, function(err, response) {
  console.log('Greeting:', response.message);
});

截止日期可以是日期对象,也可以是Infinity,以明确没有通话时间。

这被记录为Client#makeUnaryRequest函数;只是忽略前三个参数。这提到了可选的options参数,其类型Client~CallOptions描述了可以在那里传递的所有选项。