如何在 Apollo GraphQL 解析器的一个函数中解析 2 种不同的方法?

反应

我有这个解析器

SLAccount: (_, { imsUserId, imsToken }, context) =>
  new Promise((resolve, reject) => {
    addAuth(context, imsUserId, imsToken);
    context.model
      .getUserAccount(getEndpoint(imsUserId, imsToken))
      .then(resolve)
      .catch(reject);
  }),

但是我需要在那里包含另一种方法/模型:

  getHardware(endpoint) {
    return this.connector
      .get(
        `${endpoint}/...`,
      )
      .catch(res => this.handleError(res));
  }

所以我需要这样的东西:

SLAccount: (_, { imsUserId, imsToken }, context) =>
  new Promise((resolve, reject) => {
    addAuth(context, imsUserId, imsToken);
    context.model
      .getUserAccount(getEndpoint(imsUserId, imsToken))
      .then(resolve)
      .catch(reject);

    context.model
      .getHardware(getEndpoint(imsUserId, imsToken))
      .then(resolve)
      .catch(reject);
  }),

问题是我不需要同时调用它们,有时我只需要其中的一种方法/模型SLAccount

那么处理这个问题的最佳方法是什么?

xadm

GraphQL 由需求(查询)驱动。

当您account需要查询时。当您需要account并相关时,hardware只需查询两者 - 将自动调用额外的解析器。这是 graphQL 背后的基本思想。寻找任何涵盖 graphQL 关系的教程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Apollo 解析器 (Meteor/Apollo/Graphql) 中返回聚合查询?

如何在Apollo graphql服务器中创建嵌套的解析器

如何在Scala的一个解析器中解析两种不同的类型?

如何在Apollo GraphQL Server中添加字段解析器

如何在GraphQL解析器中访问请求对象(使用Apollo-Server-Express)

如何使用Apollo / graphql实现节点查询解析器

如何使用Apollo Graphql React客户端访问本地解析器中的获取策略

如何使用apollo-server-epxress从graphql解析器中更新会话

在Apollo Server中调用另一个解析器的最佳方法是什么?

如何在一个类型中添加多个解析器(Apollo服务器)

嵌套对象的Apollo Graphql解析器

我的Apollo GraphQL解析器如何在不失去传统解析器结构好处的情况下“提前”面向孩子们?

如何在 React 和 Apollo 中执行 GraphQL Query onClick?

如何在Apollo GraphQl中传递多个标题

如何在Apollo GraphQL中添加标题:iOS

如何在ReactQL的GraphQL后端的每个Apollo中添加标题

如何在Apollo graphql中添加联合类型

如何在 Apollo 中映射 GraphQL 订阅的 PubSub 值?

如何在同一个ehCache中缓存2种不同的bean方法?

使用Apollo React客户端,为什么不总是需要一个解析器来解析@client GraphQL查询?

Apollo GraphQL:扩展而不是覆盖默认解析器行为

如何在GraphQL解析器中获取请求的字段?

如何在 JavaScript 中调试 GraphQL 解析器?

合并Apollo Server的GraphQL解析器不能与Object.assign()一起使用

如何使用与另一个Parsec解析器具有不同流类型的Parsec解析器?

Apollo Server 2中不带CDN的GraphQL Playground

GraphQL Apollo Federation-JVM 中@extends 类型的解析器问题

Apollo GraphQL解析器类型签名中的info参数为空

在GraphQL解析器中对MongoDB数据进行排序(Meteor / React / Apollo)