小编Dvl*_*lpr的帖子

使用 Graphql 订阅 NestJS 时,“无法为不可为空的字段返回 null”

我已经完成了一个 nodejs 后端Nestjs,我正在使用Graphql. 我的前端是 Ionic/Angular,使用 Apollo-angular 来处理 graphql 的东西。 我在订阅数据添加/更改时遇到问题。Playground(由 Nestjs 提供)工作得很好,这让我暗示问题出在前端。

我有game并且scores在我的数据模型中,每个分数都属于一个游戏。在前端,我试图聆听添加到特定游戏的新分数。

后端

这是我的一个片段resolver

@Mutation(returns => Score)
async addScore(@Args('data') data: ScoreInput): Promise<IScore> {
  return await this.scoresService.createScore(data);
}

@Subscription(returns => Score, {
  filter: (payload, variables) => payload.scoreAdded.game + '' === variables.gameId + '',
})
scoreAdded(@Args('gameId') gameId: string) {
  return this.pubSub.asyncIterator('scoreAdded');
}
Run Code Online (Sandbox Code Playgroud)

这是service方法:

async createScore(data: any): Promise<IScore> {
  const score = await this.scoreModel.create(data);
  this.pubSub.publish('scoreAdded', { scoreAdded: score }); …
Run Code Online (Sandbox Code Playgroud)

graphql apollo-client angular nestjs

5
推荐指数
1
解决办法
3052
查看次数

标签 统计

angular ×1

apollo-client ×1

graphql ×1

nestjs ×1