reactjs - 如何累积单个请求的解析调用?

标签 reactjs relayjs graphql graphql-js

graphql请求到达我的服务器时,它会根据查询跳转到几个不同的解析函数。 但我不想有时用几十个小请求(基本上是每个 resolve 函数中的一个 select)来访问我的数据库。这实际上并不能很好地扩展。

有没有一种方法可以累积单个 graphql 请求的所有这些解析调用 - 这样最后我就可以施展一些魔法,只为我的数据库构建一个 select ,然后解析所有的 Promise ?

通过累积在解析函数中返回的所有 promise ,我可以看到几种自己构建某些东西的方法,但我不知道单个请求的所有解析函数何时被调用。

这个问题有解决办法吗? Facebook 如何处理这种情况?

谢谢

最佳答案

将所有解析调用批处理到单个数据库查询中是 GraphQL 实现的一个活跃探索领域,但引用实现中不支持。相反,我们建议使用 dataloader 。使用dataloader可以帮助确保您从存储层获取每条记录一次,即使它被查询多次。

关于reactjs - 如何累积单个请求的解析调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145915/

相关文章:

javascript - 如何修复无法为 `Link` 创建中继容器

error-handling - 如何使用 Apollo Server 2.0 GraphQL 将架构指令中的信息作为返回的数据包含在内?

javascript - 如何在graphql gatsby中允许可选的清晰图像?

javascript - 引用错误 : localStorage is not defined in ReactJS Build

reactjs - 如何使用 Jest 和 Enzyme 在 nextjs 应用程序中编写单元测试 redux 连接组件

ios - 过多的挂起回调 : 501. 一些挂起的回调可能已经泄露

relayjs - 如何在 Relay 中管理游标和排序?

graphql - GraphQL 中的查看器字段是什么意思?

javascript - GraphQL 流类型?

reactjs - Bootstrap 下拉菜单不适用于 React 路由器