File tree 2 files changed +13
-3
lines changed
2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,7 @@ export function makeQueryCache() {
72
72
const foundQueries = findQueries ( predicate , { exact } )
73
73
74
74
foundQueries . forEach ( query => {
75
+ clearTimeout ( query . staleTimeout )
75
76
delete cache . queries [ query . queryHash ]
76
77
} )
77
78
@@ -230,9 +231,7 @@ export function makeQueryCache() {
230
231
return
231
232
}
232
233
query . staleTimeout = setTimeout ( ( ) => {
233
- if ( query ) {
234
- dispatch ( { type : actionMarkStale } )
235
- }
234
+ dispatch ( { type : actionMarkStale } )
236
235
} , query . config . staleTime )
237
236
}
238
237
Original file line number Diff line number Diff line change @@ -108,4 +108,15 @@ describe('queryCache', () => {
108
108
const data = queries . map ( query => query . state . data )
109
109
expect ( data ) . toEqual ( [ 'data1' , 'data2' ] )
110
110
} )
111
+
112
+ test ( 'stale timeout dispatch is not called if query is no longer in the query cache' , async ( ) => {
113
+ const queryKey = 'key'
114
+ const fetchData = ( ) => Promise . resolve ( 'data' )
115
+ await queryCache . prefetchQuery ( queryKey , fetchData )
116
+ const query = queryCache . getQuery ( queryKey )
117
+ expect ( query . state . isStale ) . toBe ( false )
118
+ queryCache . removeQueries ( queryKey )
119
+ await sleep ( 50 )
120
+ expect ( query . state . isStale ) . toBe ( false )
121
+ } )
111
122
} )
You can’t perform that action at this time.
0 commit comments