snapshot of https://github.com/TanStack/query.git (main, 2026-09-16; blobs > 131072B omitted)
This commit is contained in:
166
docs/framework/vue/reference/variables/notifyManager.md
Normal file
166
docs/framework/vue/reference/variables/notifyManager.md
Normal file
@@ -0,0 +1,166 @@
|
||||
---
|
||||
id: notifyManager
|
||||
title: notifyManager
|
||||
---
|
||||
|
||||
```ts
|
||||
const notifyManager: object;
|
||||
```
|
||||
|
||||
Defined in: [packages/query-core/src/notifyManager.ts:144](https://github.com/TanStack/query/blob/main/packages/query-core/src/notifyManager.ts#L144)
|
||||
|
||||
Handles scheduling and batching callbacks in TanStack Query.
|
||||
|
||||
## Type Declaration
|
||||
|
||||
### batch()
|
||||
|
||||
```ts
|
||||
readonly batch: <T>(callback) => T;
|
||||
```
|
||||
|
||||
Batches all updates scheduled inside the passed callback.
|
||||
This is mainly used internally to optimize query client updating.
|
||||
Batches can be nested; the queue is only flushed once the outermost `batch` call finishes.
|
||||
The return value of `callback` is passed through.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### callback
|
||||
|
||||
() => `T`
|
||||
|
||||
#### Returns
|
||||
|
||||
`T`
|
||||
|
||||
### batchCalls()
|
||||
|
||||
```ts
|
||||
readonly batchCalls: <T>(callback) => BatchCallsCallback<T>;
|
||||
```
|
||||
|
||||
All calls to the wrapped function will be batched.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `unknown`[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### callback
|
||||
|
||||
`BatchCallsCallback`\<`T`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`BatchCallsCallback`\<`T`\>
|
||||
|
||||
### schedule()
|
||||
|
||||
```ts
|
||||
schedule: (callback) => void;
|
||||
```
|
||||
|
||||
Schedules a function to be run on the next batch.
|
||||
By default, the batch is run with a `setTimeout`, but this can be configured via `setScheduler`.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### callback
|
||||
|
||||
`NotifyCallback`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
### setBatchNotifyFunction()
|
||||
|
||||
```ts
|
||||
readonly setBatchNotifyFunction: (fn) => void;
|
||||
```
|
||||
|
||||
Use this method to set a custom function to batch notifications together into a single tick.
|
||||
Framework adapters use this to plug in their own batching primitive, so that a single query
|
||||
update only triggers one re-render instead of one per subscriber.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### fn
|
||||
|
||||
`BatchNotifyFunction`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Example
|
||||
|
||||
```ts
|
||||
import { notifyManager } from '@tanstack/query-core'
|
||||
import { batch } from 'solid-js'
|
||||
|
||||
notifyManager.setBatchNotifyFunction(batch)
|
||||
```
|
||||
|
||||
### setNotifyFunction()
|
||||
|
||||
```ts
|
||||
readonly setNotifyFunction: (fn) => void;
|
||||
```
|
||||
|
||||
Use this method to set a custom notify function.
|
||||
This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### fn
|
||||
|
||||
`NotifyFunction`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
### setScheduler()
|
||||
|
||||
```ts
|
||||
readonly setScheduler: (fn) => void;
|
||||
```
|
||||
|
||||
Configures a custom callback that schedules when the next batch runs.
|
||||
The default behavior is `setTimeout(callback, 0)`.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### fn
|
||||
|
||||
`ScheduleFunction`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Example
|
||||
|
||||
```ts
|
||||
import { notifyManager } from '@tanstack/query-core'
|
||||
|
||||
// Schedule batches in the next microtask
|
||||
notifyManager.setScheduler(queueMicrotask)
|
||||
|
||||
// Schedule batches before the next frame is rendered
|
||||
notifyManager.setScheduler(requestAnimationFrame)
|
||||
|
||||
// Schedule batches some time in the future
|
||||
notifyManager.setScheduler((cb) => setTimeout(cb, 10))
|
||||
```
|
||||
Reference in New Issue
Block a user