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

可观察查询

API 参考


ObservableQuery 函数

ApolloClient 可观测对象扩展了由 zen-observable. 请参阅 zen-observable 文档以获取更多上下文和 API 选项。

结果

示例

签名

function result(): Promise<ApolloQueryResult<TData>>

结果

Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
其他

数据

TData

传递给onError并用于钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误以及任何错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

在执行GraphQL操作期间在服务器端发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

示例

签名

function getCurrentResult(
saveAsLastResult?: boolean
): ApolloQueryResult<TData>

参数

结果

ApolloQueryResult<TData>
显示/隐藏子属性
其他
TData

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

更新此可观察查询的,并获取新的结果。在大多数使用情况下,此方法应优先于setVariables

签名

function refetch(
variables?: Partial<TVariables>
): Promise<ApolloQueryResult<TData>>

参数

名称 / 类型
描述

variables(可选)

Partial<TVariables>

新的变量集合。如果缺少变量,将使用那些变量的上一个值。

结果

Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
其他
TData

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

示例

签名

function setOptions(
newOptions: Partial<WatchQueryOptions<TVariables, TData>>
): Promise<ApolloQueryResult<TData>>

参数

名称 / 类型
描述

newOptions

Partial<WatchQueryOptions<TVariables, TData>>
显示/隐藏子属性
操作选项

指定查询如何处理返回既有GraphQL错误又有部分结果的响应。

有关详细信息,请参阅GraphQL错误策略

默认值为none,表示查询结果包括错误详情但不包括部分结果。

DocumentNode | TypedDocumentNode<TData, TVariables>

使用gql模板字符串解析为AST的GraphQL查询字符串。

一个包含查询执行所需的所有GraphQL变量的对象。

对象中的每个键都对应一个名,该键的值对应于变量的值。

网络选项
DefaultContext

如果您正在使用Apollo Link,则此对象是沿链传递的context对象的初始值。

如果true,则每当网络状态变化或发生网络错误时,正在进行的查询关联的组件将重新渲染。

默认值为false

指定查询查询更新结果的时间间隔(以毫秒为单位)。

默认值为0(不轮询)。

每次轮询执行时发生重新获取尝试时调用的回调函数。如果函数返回 true,则跳过重新获取,直到下一次轮询间隔才重新尝试。

缓存选项
观察查询获取策略

指定查询在执行期间与 Apollo 客户端缓存交互的方式(例如,它在向服务器发送请求之前是否会检查缓存)。

有关详细信息,请参阅:设置获取策略

默认值为 cache-first

观察查询获取策略

默认为 options.fetchPolicy 的初始值,但可以显式配置为指定观察查询获取策略,以便在变量更改时返回(除非 nextFetchPolicy 干预)。

观察查询获取策略 | (this: 观察查询选项,当前获取策略:观察查询获取策略,context:下一获取策略上下文) => 观察查询获取策略

指定在查询完成后使用的获取策略。

重新获取写入策略

指定网络状态.refetch 操作应将传入的字段数据与现有数据合并,还是重写现有数据。重写可能更可取,但由于与 Apollo Client 3.x 的向后兼容性,当前默认行为是合并。

如果 true,当缓存不包含查询的所有字段的结果时,查询可以返回缓存中的部分结果。

默认值为false

其他

⚠️ 已弃用

使用 canonizeResults 可能会导致内存泄漏,所以我们一般不推荐再使用此选项。Apollo Client 的未来版本将包含一个类似功能,但没有内存泄漏的风险。

在返回之前是否对缓存结果进行规范化。规范化需要额外的时间,但可以加快未来深度比较的速度。默认值为false。

⚠️ 已弃用

由于获取策略的更一致应用,在 Apollo Client 3 中设置此选项是不必要的。这可能在未来的版本中被删除。

如果 true,当检测到查询结果为部分结果时,将导致查询重新获取。

默认值为false

结果

Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
其他
TData

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

更新此可观察查询的变量,并在它们发生变化时获取新结果。大多数用户应首选refetch而不是setVariables,以便在结果来自缓存时也能正确通知。

注意:如果变量没有变化或结果来自缓存,不会触发next回调。

注意:如果变量没有变化,承诺将立即返回旧结果。

注意:如果查询不活跃(没有订阅者),承诺将立即返回null。

签名

function setVariables(
variables: TVariables
): Promise<ApolloQueryResult<TData> | void>

参数

名称 / 类型
描述

variables

TVariables

新的变量集合。如果缺少变量,将使用那些变量的上一个值。

结果

Promise<ApolloQueryResult<TData> | void>
显示/隐藏子属性
其他
TData

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

一个函数,帮助您获取分页列表字段的下一组结果。

签名

function fetchMore(
fetchMoreOptions: FetchMoreQueryOptions<TFetchVars, TFetchData> & {
updateQuery?: (previousQueryResult: TData, options: {
fetchMoreResult: TFetchData;
variables: TFetchVars;
}) => TData;
}
): Promise<ApolloQueryResult<TFetchData>>

参数

名称 / 类型
描述

fetchMoreOptions

FetchMoreQueryOptions<TFetchVars, TFetchData> & { updateQuery?: (previousQueryResult: TData, options: { fetchMoreResult: TFetchData; variables: TFetchVars; }) => TData; }

结果

Promise<ApolloQueryResult<TFetchData>>
显示/隐藏子属性
其他
TFetchData

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus

一个函数,使您能够在不执行后续GraphQL操作的情况下更新查询的缓存结果。

有关更多信息,请参阅

签名

function updateQuery(
mapFn: (previousQueryResult: TData, options: Pick<WatchQueryOptions<TVars, TData>, "variables">) => TData
): void

参数

名称 / 类型
描述

mapFn

(previousQueryResult: TData, options: Pick<WatchQueryOptions<TVars, TData>, "variables">) => TData

一个函数,指导查询在指定的间隔(以毫秒为单位)开始重新执行。

签名

function startPolling(
pollInterval: number
): void

参数

名称 / 类型
描述

一个函数,指导查询在之前的startPolling调用后停止轮询。

签名

function stopPolling(): void

一个允许您执行 订阅的功能,通常用于订阅查询中包含的特定 fields

此函数返回另一个函数,您可以通过调用它来终止

签名

function subscribeToMore(
options: SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData>
): () => void

参数

名称 / 类型
描述

options

SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData>

结果

() => void

类型

我们的系统中执行查询的当前状态。

枚举成员

error

query 没有正在进行的请求,但检测到错误。

表示在此 fetchMore 查询上被调用,并且创建的查询目前处于进行中。

query 从未运行过,并且当前正在运行。即使从缓存返回了部分数据结果,但已发布此查询,查询仍将具有此网络状态。

表示一个轮询 query 当前正在飞行。例如,如果您每10秒轮询一次查询,则在每次轮询请求发送但未解决的情况下,网络状态将每10秒切换到 poll

对此 query 没有正在进行的请求,且未发生任何错误。一切正常。

类似于 setVariables 的网络状态。这意味着在查询上调用 refetch,并且当前正在飞行。

如果由于 setVariables 的调用而引发了 query,并且网络状态将保持为 setVariables,直到该 query的结果返回。

属性

名称 / 类型
描述
其他

传递给onError并用于查询钩子的单个错误对象,通常在执行手动client.query调用时抛出。这将包含一个网络错误字段以及任何GraphQL错误。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

ReadonlyArray<GraphQLFormattedError>

服务器端执行GraphQL操作期间发生的任何错误的列表。请参阅https://apollo.graphql.net.cn/docs/react/data/error-handling/获取更多信息。

boolean
NetworkStatus
Previous
InMemoryCache
Next
Hooks
评分文章评分在GitHub上编辑Edit论坛Discord

©2024Apollon Graph Inc.,即Apollo GraphQL。

隐私政策

公司