当graphql request
点击我的服务器时,它会跳转到几个不同的resolve functions
,具体取决于查询。
但我不想用有时几十个小请求(在每个select
函数中基本上是resolve
)来访问我的数据库。这不会真的很好地扩展。
有没有办法为单个graphql请求累积所有这些解析调用 - 所以最后我可以做一些魔法并只为我的数据库构建一个select
,然后解决所有的承诺?
我可以通过累积我在resolve函数中返回的所有promise来看到自己构建一些东西的几种方法,但我不知道何时调用了单个请求的所有解析函数。
这个问题有解决方法吗? Facebook如何处理这种情况?
谢谢
答案 0 :(得分:1)
将所有解析调用批处理到单数据库查询是GraphQL实现的一个活跃的探索领域,并且在参考实现中不受支持。相反,我们建议您使用send it over to your swf。使用dataloader
可以帮助确保从存储层获取每条记录一次,即使多次查询它也是如此。