从10月8日至10日加入我们,在纽约市学习关于 GraphQL Federation 和 API 平台工程的最新技巧、趋势和新闻。加入我们参加2024年纽约市的 GraphQL Summit。
文档
免费开始

批量操作


支持在单个HTTP请求中批量处理多个 以减少网络往返次数。每次您启用批量处理执行操作时,您的客户端会等待短暂的时间间隔以收集任何 其他 可批量处理的 操作,这些操作也在执行。当间隔完成时,您的客户端将以单次HTTP请求发送所有操作。

请注意,由于等待间隔,批量处理会向 操作 增加一些延迟。需要尽可能少延迟的操作可以 放弃批量处理

启用批量处理

您在初始化ApolloClient 实例时启用批量处理,如下所示:

val apolloClient = ApolloClient.Builder()
.serverUrl("https://example.com/graphql")
.httpBatching()
.build()

默认情况下,批处理引擎在发送查询前会等待10毫秒以收集查询,一个批次最多包含10个查询。您可以通过向httpBatching方法传递额外的配置选项来配置这些默认值:

apolloClientBuilder.httpBatching(
batchIntervalMillis = 50, // Wait 50ms
maxBatchSize = 20 // Max 20 queries
)

选择退出/进入

默认情况下,如果您启用批处理,它将对所有操作启用。单个操作可以通过向canBeBatched方法传递false来选择退出批处理:

apolloClient.query(MyQuery()).canBeBatched(false).execute()

如果您有一个始终希望以尽可能少的延迟执行的操作,这将非常有用。

您还可以要求单个操作加入批处理。要这样做,您首先在初始化您的ApolloClient实例时调用canBeBatched(false)

val apolloClient = ApolloClient.Builder()
.serverUrl("https://example.com/graphql")
.httpBatching()
.canBeBatched(false)
.build()

现在,默认情况下,批处理已被禁用,单个操作可以通过canBeBatched(true)加入。

上一页
WebSocket错误
下一页
测试概述
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL公司。

隐私政策

公司