NodeJS 节点应用中具有同步调用的gRPC

jogvjijk  于 2023-02-18  发布在  Node.js
关注(0)|答案(2)|浏览(170)

我有一个实现多个gRPC服务器的应用程序。客户端在nodeJS中实现。客户端一个接一个地调用多个gRPC调用。由于在nodeJS中,每个ServiceClient创建一个通道,因此如何确保在调用第二个gRPC调用之前完成第一个gRPC调用。
是否有办法指定多个ServiceClient使用相同的通道进行所有通信?
有没有办法在nodeJS中使用同步gRPC调用?

q43xntqr

q43xntqr1#

节点gRPC没有同步调用,与任何异步节点操作一样,您可以通过在第一个操作的完成回调中调用第二个操作来确保两个调用是按顺序进行的。
不,目前还没有一个API可以让多个客户机对象使用同一个通道。

jmp7cifd

jmp7cifd2#

我注意到这个问题很老了,回答这个问题是为了以防将来有人还需要它。
YES,在结束事件后调用第二个gRPC。下面是客户端示例。

const target = "localhost:50055";
const client = new proto.APINAME(target, grpc.credentials.createInsecure());

const call = client.APIMETHOD(metadata);

call.on("data", function(data) {
  console.log(data);
});
call.on("end", function() {
  // call the second gRPC
});

相关问题