cancelQueries(...)
The method can be used to cancel outgoing queries. Refer to the TanStack queryClient.cancelQueries ๐ด and Query Cancellation ๐ด guide for more information.
- With
filters
,options
- With
filters
,options
- No
filters
,options
Cancels queries for the specified endpoint using the provided filters.
qraft.<service>.<operation>.cancelQueries(
filters,
queryClient,
)
Argumentsโ
filters: QueryFiltersByParameters | QueryFiltersByQueryKey
- Required, represents the Query Filters ๐ด to be used, strictly-typed โจ
filters.parameters: { path, query, header }
will be used for filtering queries by parametersfilters.infinite: boolean
will be used to filter infinite or normal queriesfilters.queryKey: QueryKey
will be used for filtering queries by QueryKey instead of parametersfilters.queryKey
andfilters.parameters
are mutually exclusive
filters.predicate?: (query: Query) => boolean
will be used for filtering queries by custom predicate- If not provided
- All queries for the specified endpoint will be canceled
queryClient: QueryClient
- Required QueryClient ๐ด to be used
Cancels queries for the specified endpoint using the provided filters with the specified options.
qraft.<service>.<operation>.cancelQueries(
filters,
options,
queryClient,
)
Argumentsโ
filters: QueryFiltersByParameters | QueryFiltersByQueryKey
- Required, represents the Query Filters ๐ด to be used, strictly-typed โจ
filters.parameters: { path, query, header }
will be used for filtering queries by parametersfilters.infinite: boolean
will be used to filter infinite or normal queriesfilters.queryKey: QueryKey
will be used for filtering queries by QueryKey instead of parametersfilters.queryKey
andfilters.parameters
are mutually exclusive
filters.predicate?: (query: Query) => boolean
will be used for filtering queries by custom predicate- If not provided
- All queries for the specified endpoint will be canceled
options: CancelOptions
- Required CancelOptions ๐ด to be used
queryClient: QueryClient
- Required QueryClient ๐ด to be used
Cancels all normal and Infinite queries for the specified endpoint.
qraft.<service>.<operation>.cancelQueries(
queryClient,
)
Argumentsโ
queryClient: QueryClient
- Required QueryClient ๐ด to be used
Returnsโ
Promise<void>
: A promise that resolves once the cancellation is complete.
Examplesโ
filters
filters
predicate
queryKey
Queries cancellation with the specified parameters:
/**
* Will cancel the active queries with the specified parameters:
* ###
* GET /entities/3e3e-3e3e-3e3e
* x-monite-version: 2023-09-01
**/
qraft.entities.getEntities.cancelQueries(
{
infinite: false,
parameters: {
header: {
'x-monite-version': '2023-09-01',
},
path: {
entity_id: '3e3e-3e3e-3e3e',
},
},
},
queryClient
);
To cancel all queries for a particular endpoint, you can call cancelQueries(...)
without parameters
:
/**
* Will cancel queries matching the specified endpoint:
* ###
* GET /entities/3e3e-3e3e-3e3e
* x-monite-version: 2023-09-01
* ###
* GET /entities/4c4c-4c4c-4c4c
* x-monite-version: 2023-09-01
* ###
* โฌ๏ธ All queries for the specified endpoint will be canceled
**/
qraft.entities.getEntities.cancelQueries(queryClient);
Cancels queries with a custom predicate(...)
function,
which will be used as a final filter on all matching queries.
See Query Filters ๐ด
for more information.
/**
* Will cancel queries matching the specified endpoint and predicate:
* ###
* GET /entities/3e3e-3e3e-3e3e
* x-monite-version: 2023-09-01
**/
qraft.entities.getEntities.cancelQueries(
{
infinite: false,
parameters, // * optional, or specific parameters, alternatively, you can use `queryKey`
predicate: (query) => {
// `queryKey`โฌ๏ธ is fully typed to `qraft.entities.getEntities` operation parameters
if (query.queryKey[1].path.entity_id === '4c4c-4c4c-4c4c') return false;
return true;
},
},
queryClient
);
It could be useful to cancel queries using queryKey
directly:
/**
* Will cancel queries matching the specified endpoint:
* ###
* GET /entities/3e3e-3e3e-3e3e
* x-monite-version: 2023-09-01
**/
qraft.entities.getEntities.cancelQueries(
{
// `queryKey` is fully typed to `qraft.entities.getEntities`
queryKey: qraft.entities.getEntities.getQueryKey({
header: {
'x-monite-version': '2023-09-01',
},
path: {
entity_id: '3e3e-3e3e-3e3e',
},
}),
},
queryClient
);