And*_*nto 0 rpc node.js async-await grpc graphql
我试图在函数中调用一个简单的 grpc 请求,但我不知道如何等待响应并将其传递到 grpc 调用之外。
应该是这样的:
Client: (parent, args, context, info) =>{
client.Get({thing, objects, properties}, function(err, response) {
//how to return the response outside?
});
//await for the response function.
};
Run Code Online (Sandbox Code Playgroud)
是否可以在 client.Get 函数之外以某种方式返回响应?有人有一些建议吗?谢谢您的建议!
sli*_*wp2 10
你有两种方法:
new Promise((resolve, reject) => client.Get({thing, objects, properties}, function(err, response) {
if(err) {
return reject(err)
}
resolve(response)
}))
Run Code Online (Sandbox Code Playgroud)
const grpc_promise = require('grpc-promise');;
grpc_promise.promisifyAll(client);
Run Code Online (Sandbox Code Playgroud)
然后,您可以将这个承诺的 gRPC 客户端传递给 GraphQL 上下文。(根据函数签名猜测您正在使用 GraphQL)。
然后您可以在 GraphQL 解析器中返回一个 Promise。
Client: (parent, args, context, info) =>{
return context.client.Get({thing, objects, properties})
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5823 次 |
| 最近记录: |