GitHub GraphQL API获取全部用户关注者是否需逐页串行请求?
GitHub GraphQL API 分页问题解答
嘿,刚接触GraphQL碰到这种分页疑问太正常了!我来给你详细说清楚:
1. 600位关注者确实需要6次请求
没错,因为GitHub GraphQL API对first参数的上限就是100(这是平台设定的固定限制),所以600条数据的话,确实得发送6次请求。每次请求都要把上一次返回结果里pageInfo.endCursor的值作为下一次请求的after变量,直到pageInfo.hasNextPage变成false,就说明已经拿到所有数据了。
你现在用的查询语句完全没问题,就是标准的游标分页写法,按这个逻辑迭代执行就行。
2. 确实无法实现并行请求
这是游标式分页的核心特点——每一次请求的游标都严格依赖上一次的返回结果,你没法提前预知下一页的endCursor是什么,自然没办法提前构造多个请求并行发送。
不过换个角度看,这种串行方式也有优势:如果在你分页获取数据的过程中,用户的关注者列表有新增或删除,游标分页能最大程度避免重复数据或者漏数据的情况,比传统的offset分页(比如page=1&size=100)更稳定可靠。
内容的提问来源于stack exchange,提问作者laike9m
相关产品推荐
相关产品推荐

