id | title | ref | replace | ||||||
---|---|---|---|---|---|---|---|---|---|
query-retries |
Query Retries |
docs/framework/react/guides/query-retries.md |
|
import { injectQuery } from '@tanstack/angular-query'
// Make a specific query retry a certain number of times
const result = injectQuery(() => ({
queryKey: ['todos', 1],
queryFn: fetchTodoListPage,
retry: 10, // Will retry failed requests 10 times before displaying an error
}))
// Configure for all queries
import {
QueryCache,
QueryClient,
QueryClientProvider,
} from '@tanstack/angular-query'
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 30000),
},
},
})
bootstrapApplication(AppComponent, {
providers: [provideTanStackQuery(queryClient)],
})
Though it is not recommended, you can obviously override the retryDelay
function/integer in both the Provider and individual query options. If set to an integer instead of a function the delay will always be the same amount of time:
const result = injectQuery(() => ({
queryKey: ['todos'],
queryFn: fetchTodoList,
retryDelay: 1000, // Will always wait 1000ms to retry, regardless of how many retries
}))