node.js - 从 Nestjs 中可观察的 grpc 服务中获取数据,

标签 node.js angular grpc nestjs grpc-node

我想使用 gRPC 服务在我的微服务之间进行通信。但是当从 Grpc 服务获得响应时,在返回一个方法之前,我想做一些修改和功能。
示例项目:https://github.com/nestjs/nest/tree/master/sample/04-grpc
像这样:

@Get(':id') 
getById(@Param('id') id: string): Observable<Hero> {
  const res: Observable<Hero> = this.heroService.findOne({ id: +id }); 
  console.log(res); res.name = res.name + 'modify string'; 
  return res;
}
但在 console.log 中显示以下消息而不是原始响应。
Observable { _isScalar: false, _subscribe: [Function] }

最佳答案

一种方法是到 convert您的 ObservablePromise并等待这个 promise 。然后您可以修改并返回结果:

@Get(':id') 
async getById(@Param('id') id: string): Promise<Hero> {

  const res:Hero = await this.heroService.findOne({ id: +id }).toPromise();
  
  res.name = res.name + 'modify string'; 

  return res;

}

关于node.js - 从 Nestjs 中可观察的 grpc 服务中获取数据,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62486153/

相关文章:

node.js - Nodejs + ExpressJS 中的类成员继承

angular - formArray 的多个垫错误无法弄清楚

http - Angular2 http 订阅组件

grpc - 无法使用 bazel 构建项目。没有方法 new_http_archive()

go - 在 grpc 服务器方法调用中设置状态代码

go grpc 服务器不知道客户端不优雅死了

node.js - 使用 multer 发送附件

javascript - 无法连接到数据库,因为 axios 位于 UI javascript 文件中

angular - 从选项卡转到根页面

javascript - 尝试分配权限时 Node ACL 不起作用