This repository was archived by the owner on Apr 12, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -823,7 +823,9 @@ angular.module('ngResource', ['ng']).
823
823
824
824
function cancelRequest ( value ) {
825
825
promise . catch ( noop ) ;
826
- timeoutDeferred . resolve ( value ) ;
826
+ if ( timeoutDeferred !== null ) {
827
+ timeoutDeferred . resolve ( value ) ;
828
+ }
827
829
}
828
830
} ;
829
831
Original file line number Diff line number Diff line change @@ -2101,6 +2101,28 @@ describe('cancelling requests', function() {
2101
2101
2102
2102
expect ( creditCard . $cancelRequest ) . toBe ( noop ) ;
2103
2103
} ) ;
2104
+
2105
+ it ( 'should not break when calling old `$cancelRequest` after the response arrives' , function ( ) {
2106
+ $httpBackend . whenGET ( '/CreditCard' ) . respond ( { } ) ;
2107
+
2108
+ var CreditCard = $resource ( '/CreditCard' , { } , {
2109
+ get : {
2110
+ method : 'GET' ,
2111
+ cancellable : true
2112
+ }
2113
+ } ) ;
2114
+
2115
+ var creditCard = CreditCard . get ( ) ;
2116
+ var cancelRequest = creditCard . $cancelRequest ;
2117
+
2118
+ creditCard . $promise . then ( function ( list ) {
2119
+ cancelRequest ( ) ;
2120
+ } ) ;
2121
+
2122
+ $httpBackend . flush ( ) ;
2123
+
2124
+ expect ( creditCard . $cancelRequest ) . not . toThrow ( ) ;
2125
+ } ) ;
2104
2126
} ) ;
2105
2127
2106
2128
describe ( 'configuring `cancellable` on the provider' , function ( ) {
You can’t perform that action at this time.
0 commit comments