本页还没有译文
本页 77 段还没译成简体中文,下面显示的是英文原文。TimeoutManager
还没翻译译自英文(tanstack.com)本页 77 段都还没译
Defined in: packages/query-core/src/timeoutManager.ts:82
Allows customization of how timeouts are created.
@tanstack/query-core makes liberal use of timeouts to implement staleTime
and gcTime. The default TimeoutManager provider uses the platform's global
setTimeout implementation, which is known to have scalability issues with
thousands of timeouts on the event loop.
If you hit this limitation, consider providing a custom TimeoutProvider that coalesces timeouts.
Implements
Omit<TimeoutProvider,"name">
Methods
clearInterval()
clearInterval(intervalId: ManagedTimerId | undefined): void;Defined in: packages/query-core/src/timeoutManager.ts:240
clearInterval can be used to cancel an interval, like the global
clearInterval function. It should be called with an interval ID
returned by setInterval.
Parameters
intervalId
ManagedTimerId | undefined
The timer ID returned by setInterval, or undefined.
Returns
void
Example
import { timeoutManager } from '@tanstack/query-core'
const intervalId = timeoutManager.setInterval(
() => console.log('ran at:', new Date()),
1000,
)
timeoutManager.clearInterval(intervalId)Implementation of
Omit.clearIntervalclearTimeout()
clearTimeout(timeoutId: ManagedTimerId | undefined): void;Defined in: packages/query-core/src/timeoutManager.ts:193
clearTimeout cancels a timeout callback scheduled with setTimeout,
like the global clearTimeout function. It should be called with a
timer ID returned by setTimeout.
Parameters
timeoutId
ManagedTimerId | undefined
The timer ID returned by setTimeout, or undefined.
Returns
void
Example
import { timeoutManager } from '@tanstack/query-core'
const timeoutId = timeoutManager.setTimeout(
() => console.log('ran at:', new Date()),
1000,
)
timeoutManager.clearTimeout(timeoutId)Implementation of
Omit.clearTimeoutsetInterval()
setInterval(callback: TimeoutCallback, delay: number): ManagedTimerId;Defined in: packages/query-core/src/timeoutManager.ts:216
setInterval schedules a callback to be called approximately every
delay milliseconds, like the global setInterval function.
Like setTimeout, it returns a timer ID, which may be a number or an
object that can be coerced to a number via Symbol.toPrimitive.
Parameters
callback
The function to call on every interval.
delay
number
The time between calls, in milliseconds.
Returns
The timer ID, to pass to TimeoutManager#clearInterval.
Example
import { timeoutManager } from '@tanstack/query-core'
const intervalId = timeoutManager.setInterval(
() => console.log('ran at:', new Date()),
1000,
)Implementation of
Omit.setIntervalsetTimeout()
setTimeout(callback: TimeoutCallback, delay: number): ManagedTimerId;Defined in: packages/query-core/src/timeoutManager.ts:169
setTimeout schedules a callback to run after approximately delay
milliseconds, like the global setTimeout function. The callback can be
canceled with clearTimeout.
It returns a timer ID, which may be a number or an object that can be
coerced to a number via Symbol.toPrimitive.
Parameters
callback
The function to call when the timeout elapses.
delay
number
The time to wait before calling callback, in milliseconds.
Returns
The timer ID, to pass to TimeoutManager#clearTimeout.
Example
import { timeoutManager } from '@tanstack/query-core'
const timeoutId = timeoutManager.setTimeout(
() => console.log('ran at:', new Date()),
1000,
)
const timeoutIdNumber: number = Number(timeoutId)Implementation of
Omit.setTimeoutsetTimeoutProvider()
setTimeoutProvider<TTimerId>(provider: TimeoutProvider<TTimerId>): void;Defined in: packages/query-core/src/timeoutManager.ts:118
setTimeoutProvider can be used to set a custom implementation of the
setTimeout, clearTimeout, setInterval, clearInterval functions,
called a TimeoutProvider.
This may be useful if you notice event loop performance issues with
thousands of queries. A custom TimeoutProvider could also support timer
delays longer than the global setTimeout maximum delay value of about
24 days.
It is important to call setTimeoutProvider before creating a
QueryClient or queries, so that the same provider is used consistently
for all timers in the application, since different TimeoutProviders
cannot cancel each others' timers.
Type Parameters
TTimerId
TTimerId extends ManagedTimerId
Parameters
provider
TimeoutProvider<TTimerId>
The TimeoutProvider to use for all timers from now on.
Returns
void
Example
import { timeoutManager, QueryClient } from '@tanstack/query-core'
import { CustomTimeoutProvider } from './CustomTimeoutProvider'
timeoutManager.setTimeoutProvider(new CustomTimeoutProvider())
export const queryClient = new QueryClient()