--- id: notifyManager title: notifyManager redirect_from: - reference/notifyManager - framework/react/reference/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: (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: (callback) => BatchCallsCallback; ``` 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)) ```