@@ -118,7 +118,7 @@ const useAsyncEffect = (generator, options) => {
118
118
return ;
119
119
}
120
120
121
- state && err . code !== E_REASON_UNMOUNTED && setState ( {
121
+ state && err . code !== E_REASON_UNMOUNTED && setState ( {
122
122
done : true ,
123
123
error : err ,
124
124
canceled : true
@@ -170,8 +170,7 @@ const useAsyncCallback = (generator, options) => {
170
170
promises : [ ] ,
171
171
queue : [ ] ,
172
172
pending : 0 ,
173
- args : null ,
174
- mounted : true
173
+ args : null
175
174
} ) ;
176
175
177
176
let {
@@ -271,15 +270,17 @@ const useAsyncCallback = (generator, options) => {
271
270
272
271
const canceled = ! ! ( isRejected && CanceledError . isCanceledError ( value ) ) ;
273
272
274
- if ( states && singleThreaded && current . mounted ) {
275
- setState ( {
276
- done : true ,
277
- pending : false ,
278
- error : isRejected ? value : undefined ,
279
- result : isRejected ? undefined : value ,
280
- canceled
281
- } )
273
+ if ( canceled && value . code === E_REASON_UNMOUNTED ) {
274
+ return ;
282
275
}
276
+
277
+ state && singleThreaded && setState ( {
278
+ done : true ,
279
+ pending : false ,
280
+ error : isRejected ? value : undefined ,
281
+ result : isRejected ? undefined : value ,
282
+ canceled
283
+ } ) ;
283
284
} ) . weight ( 0 ) . aggregate ( ) ;
284
285
285
286
promises . push ( promise ) ;
@@ -332,12 +333,6 @@ const useAsyncCallback = (generator, options) => {
332
333
return ( ) => cancel ( E_REASON_UNMOUNTED ) ;
333
334
} , deps ) ;
334
335
335
- if ( states ) {
336
- useEffect ( ( ) => ( ) => {
337
- current . mounted = false ;
338
- } , [ ] ) ;
339
- }
340
-
341
336
callback . cancel = cancel ;
342
337
343
338
return callback ;
0 commit comments