译零 TransZero · TanStack Query 中文文档
主站

OnlineManager

更新于 2026-11-02 Vue 查看英文原文 ↗

定义于:packages/query-core/src/onlineManager.ts:15

OnlineManager 用于管理 TanStack Query 中的在线状态。你可以用它来更改默认事件监听器,或手动更改在线状态。

默认情况下,onlineManager 假设网络连接处于活跃状态,并监听 online 和 offline 事件(在 window 对象上)以检测状态变化。

继承自

  • Subscribable<Listener>

方法

hasListeners()

TypeScript
1hasListeners(): boolean;

定义于:packages/query-core/src/subscribable.ts:43

当至少有一个监听器已注册时返回 true;所有监听器均已取消订阅后返回 false。

返回值

boolean

若至少有一个监听器已注册,则返回 true。

继承自

TypeScript
1Subscribable.hasListeners

isOnline()

TypeScript
1isOnline(): boolean;

定义于:packages/query-core/src/onlineManager.ts:111

isOnline 可用于获取当前在线状态。

返回值

boolean

若处于在线状态,则返回 true。


setEventListener()

TypeScript
1setEventListener(setup: SetupFn): void;

定义于:packages/query-core/src/onlineManager.ts:76

setEventListener 可用于设置一个自定义事件监听器,该监听器将用于判定在线状态。所提供的 setup 函数接收一个 setOnline 回调;每当在线状态发生变化时,应使用一个 boolean 值调用该回调。

参数

setup

SetupFn

接收 setOnline 回调,注册事件监听器,并可返回一个清理函数——当监听器被替换或不再需要时,该函数会被调用。

返回值

void

示例

TypeScript
1import NetInfo from '@react-native-community/netinfo'2import { onlineManager } from '@tanstack/query-core'3 4onlineManager.setEventListener((setOnline) => {5  return NetInfo.addEventListener((state) => {6    setOnline(!!state.isConnected)7  })8})

setOnline()

TypeScript
1setOnline(online: boolean): void;

定义于:packages/query-core/src/onlineManager.ts:96

setOnline 可用于手动设置在线状态。

参数

online

boolean

在线状态。

返回值

void

示例

TypeScript
1import { onlineManager } from '@tanstack/query-core'2 3// Set to online4onlineManager.setOnline(true)5 6// Set to offline7onlineManager.setOnline(false)

subscribe()

TypeScript
1subscribe(listener: Listener): () => void;

定义于:packages/query-core/src/subscribable.ts:28

注册一个监听器,使其在该对象通知每次更新时被调用。返回一个用于移除该监听器的函数——调用它即可停止监听。基类自身永远不会主动移除监听器,但某些子类会在 destroy() 中清空全部监听器。

参数

listener

Listener

每次更新时被调用,参数为子类传递给其订阅者的任意值。

返回值

一个用于移除监听器的函数。

() => void

示例

TypeScript
1const unsubscribe = subscribable.subscribe(() => {2  // react to the update3})4 5unsubscribe()

继承自

TypeScript
1Subscribable.subscribe

本页为 TanStack Query 文档(Vue 版)的非官方中文翻译,原文由上游团队维护,遵循 MIT 许可。 译文如有偏差,以英文原文为准。

译自上游 59d11de