notifyManager
const notifyManager: object;Defined in: packages/query-core/src/notifyManager.ts:154
Handles scheduling and batching callbacks in TanStack Query.
Type Declaration
batch
readonly batch: <T>(callback: () => T) => 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
The function to run in the batch.
Returns
T
The return value of callback.
batchCalls
readonly batchCalls: <T>(callback: BatchCallsCallback<T>) => BatchCallsCallback<T>;All calls to the wrapped function will be batched.
Type Parameters
T
T extends unknown[]
Parameters
callback
BatchCallsCallback<T>
The function to wrap.
Returns
BatchCallsCallback<T>
A function that schedules a call to callback with the given arguments.
schedule
schedule: (callback: NotifyCallback) => 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
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => 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
Receives a function that runs a batch of notifications and must call it.
Returns
void
Example
import { notifyManager } from '@tanstack/query-core'
import { batch } from 'solid-js'
notifyManager.setBatchNotifyFunction(batch)setNotifyFunction
readonly setNotifyFunction: (fn: NotifyFunction) => 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
Receives each notification callback and must call it.
Returns
void
setScheduler
readonly setScheduler: (fn: ScheduleFunction) => void;Configures a custom callback that schedules when the next batch runs.
The default behavior is setTimeout(callback, 0).
Parameters
fn
ScheduleFunction
Receives a callback that runs the next batch, and schedules it.
Returns
void
Example
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))