可观察查询
API 参考
ObservableQuery
函数
ApolloClient
可观测对象扩展了由 zen-observable
. 请参阅 zen-observable
文档以获取更多上下文和 API 选项。
示例
签名
function result(): Promise<ApolloQueryResult<TData>>
结果
Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
TData
ApolloError
传递给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
boolean
示例
签名
function getCurrentResult(saveAsLastResult?: boolean): ApolloQueryResult<TData>
参数
结果
ApolloQueryResult<TData>
显示/隐藏子属性
TData
ApolloError
传递给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
boolean
更新此可观察查询的变量,并获取新的结果。在大多数使用情况下,此方法应优先于setVariables
。
签名
function refetch(variables?: Partial<TVariables>): Promise<ApolloQueryResult<TData>>
参数
结果
Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
TData
ApolloError
传递给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
boolean
示例
签名
function setOptions(newOptions: Partial<WatchQueryOptions<TVariables, TData>>): Promise<ApolloQueryResult<TData>>
参数
newOptions
Partial<WatchQueryOptions<TVariables, TData>>
显示/隐藏子属性
ErrorPolicy
DocumentNode | TypedDocumentNode<TData, TVariables>
使用gql模板字符串解析为AST的GraphQL查询字符串。
TVariables
一个包含查询执行所需的所有GraphQL变量的对象。
对象中的每个键都对应一个变量名,该键的值对应于变量的值。
DefaultContext
如果您正在使用Apollo Link,则此对象是沿链传递的context
对象的初始值。
如果true
,则每当网络状态变化或发生网络错误时,正在进行的查询关联的组件将重新渲染。
默认值为false
。
number
指定查询查询更新结果的时间间隔(以毫秒为单位)。
默认值为0
(不轮询)。
() => boolean
每次轮询执行时发生重新获取尝试时调用的回调函数。如果函数返回 true
,则跳过重新获取,直到下一次轮询间隔才重新尝试。
观察查询获取策略
观察查询获取策略
默认为 options.fetchPolicy 的初始值,但可以显式配置为指定观察查询获取策略,以便在变量更改时返回(除非 nextFetchPolicy 干预)。
观察查询获取策略 | (this: 观察查询选项,当前获取策略:观察查询获取策略,context:下一获取策略上下文) => 观察查询获取策略
指定在查询完成后使用的获取策略。
重新获取写入策略
指定网络状态.refetch 操作应将传入的字段数据与现有数据合并,还是重写现有数据。重写可能更可取,但由于与 Apollo Client 3.x 的向后兼容性,当前默认行为是合并。
boolean
如果 true
,当缓存不包含查询的所有字段的结果时,查询可以返回缓存中的部分结果。
默认值为false
。
boolean
⚠️ 已弃用
使用 canonizeResults
可能会导致内存泄漏,所以我们一般不推荐再使用此选项。Apollo Client 的未来版本将包含一个类似功能,但没有内存泄漏的风险。
在返回之前是否对缓存结果进行规范化。规范化需要额外的时间,但可以加快未来深度比较的速度。默认值为false。
boolean
⚠️ 已弃用
由于获取策略的更一致应用,在 Apollo Client 3 中设置此选项是不必要的。这可能在未来的版本中被删除。
如果 true
,当检测到查询结果为部分结果时,将导致查询重新获取。
默认值为false
。
结果
Promise<ApolloQueryResult<TData>>
显示/隐藏子属性
TData
ApolloError
传递给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
boolean
更新此可观察查询的变量,并在它们发生变化时获取新结果。大多数用户应首选refetch
而不是setVariables
,以便在结果来自缓存时也能正确通知。
注意:如果变量没有变化或结果来自缓存,不会触发next回调。
注意:如果变量没有变化,承诺将立即返回旧结果。
注意:如果查询不活跃(没有订阅者),承诺将立即返回null。
签名
function setVariables(variables: TVariables): Promise<ApolloQueryResult<TData> | void>
参数
结果
Promise<ApolloQueryResult<TData> | void>
显示/隐藏子属性
TData
ApolloError
传递给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
boolean
签名
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
ApolloError
传递给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
boolean
签名
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
参数
结果
() => void
类型
我们的系统中执行查询的当前状态。
枚举成员
此 query 没有正在进行的请求,但检测到错误。
表示在此 fetchMore
查询上被调用,并且创建的查询目前处于进行中。
该 query 从未运行过,并且当前正在运行。即使从缓存返回了部分数据结果,但已发布此查询,查询仍将具有此网络状态。
表示一个轮询 query 当前正在飞行。例如,如果您每10秒轮询一次查询,则在每次轮询请求发送但未解决的情况下,网络状态将每10秒切换到 poll
。
对此 query 没有正在进行的请求,且未发生任何错误。一切正常。
类似于 setVariables
的网络状态。这意味着在查询上调用 refetch
,并且当前正在飞行。
如果由于 setVariables
的调用而引发了 query,并且网络状态将保持为 setVariables
,直到该 query的结果返回。
属性
T
ApolloError
传递给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
boolean