This repository was archived by the owner on Apr 12, 2024. It is now read-only.
File tree 2 files changed +14
-1
lines changed
2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -223,7 +223,7 @@ function qFactory(nextTick, exceptionHandler) {
223
223
224
224
225
225
reject : function ( reason ) {
226
- deferred . resolve ( reject ( reason ) ) ;
226
+ deferred . resolve ( createInternalRejectedPromise ( reason ) ) ;
227
227
} ,
228
228
229
229
@@ -380,6 +380,12 @@ function qFactory(nextTick, exceptionHandler) {
380
380
* @returns {Promise } Returns a promise that was already resolved as rejected with the `reason`.
381
381
*/
382
382
var reject = function ( reason ) {
383
+ var result = defer ( ) ;
384
+ result . reject ( reason ) ;
385
+ return result . promise ;
386
+ } ;
387
+
388
+ var createInternalRejectedPromise = function ( reason ) {
383
389
return {
384
390
then : function ( callback , errback ) {
385
391
var result = defer ( ) ;
Original file line number Diff line number Diff line change @@ -959,6 +959,13 @@ describe('q', function() {
959
959
mockNextTick . flush ( ) ;
960
960
expect ( log ) . toEqual ( [ 'errorBroken(rejected)->throw(catch me!)' , 'errorAffected(catch me!)->reject(catch me!)' ] ) ;
961
961
} ) ;
962
+
963
+
964
+ it ( 'should have functions `finally` and `catch`' , function ( ) {
965
+ var rejectedPromise = q . reject ( 'rejected' ) ;
966
+ expect ( rejectedPromise [ 'finally' ] ) . not . toBeUndefined ( ) ;
967
+ expect ( rejectedPromise [ 'catch' ] ) . not . toBeUndefined ( ) ;
968
+ } ) ;
962
969
} ) ;
963
970
964
971
You can’t perform that action at this time.
0 commit comments