@@ -298,14 +298,14 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
298
298
*
299
299
* @returns {Deferred } Returns a new instance of deferred.
300
300
*/
301
- var defer = function ( ) {
301
+ function defer ( ) {
302
302
var d = new Deferred ( ) ;
303
303
//Necessary to support unbound execution :/
304
304
d . resolve = simpleBind ( d , d . resolve ) ;
305
305
d . reject = simpleBind ( d , d . reject ) ;
306
306
d . notify = simpleBind ( d , d . notify ) ;
307
307
return d ;
308
- } ;
308
+ }
309
309
310
310
function Promise ( ) {
311
311
this . $$state = { status : 0 } ;
@@ -331,9 +331,9 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
331
331
332
332
'finally' : function ( callback , progressBack ) {
333
333
return this . then ( function ( value ) {
334
- return handleCallback ( value , true , callback ) ;
334
+ return handleCallback ( value , resolve , callback ) ;
335
335
} , function ( error ) {
336
- return handleCallback ( error , false , callback ) ;
336
+ return handleCallback ( error , reject , callback ) ;
337
337
} , progressBack ) ;
338
338
}
339
339
} ) ;
@@ -372,7 +372,7 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
372
372
} finally {
373
373
-- queueSize ;
374
374
if ( errorOnUnhandledRejections && queueSize === 0 ) {
375
- nextTick ( processChecksFn ( ) ) ;
375
+ nextTick ( processChecks ) ;
376
376
}
377
377
}
378
378
}
@@ -389,25 +389,17 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
389
389
}
390
390
}
391
391
392
- function processChecksFn ( ) {
393
- return function ( ) { processChecks ( ) ; } ;
394
- }
395
-
396
- function processQueueFn ( state ) {
397
- return function ( ) { processQueue ( state ) ; } ;
398
- }
399
-
400
392
function scheduleProcessQueue ( state ) {
401
393
if ( errorOnUnhandledRejections && ! state . pending && state . status === 2 && ! state . pur ) {
402
394
if ( queueSize === 0 && checkQueue . length === 0 ) {
403
- nextTick ( processChecksFn ( ) ) ;
395
+ nextTick ( processChecks ) ;
404
396
}
405
397
checkQueue . push ( state ) ;
406
398
}
407
399
if ( state . processScheduled || ! state . pending ) return ;
408
400
state . processScheduled = true ;
409
401
++ queueSize ;
410
- nextTick ( processQueueFn ( state ) ) ;
402
+ nextTick ( function ( ) { processQueue ( state ) ; } ) ;
411
403
}
412
404
413
405
function Deferred ( ) {
@@ -526,39 +518,27 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
526
518
* @param {* } reason Constant, message, exception or an object representing the rejection reason.
527
519
* @returns {Promise } Returns a promise that was already resolved as rejected with the `reason`.
528
520
*/
529
- var reject = function ( reason ) {
521
+ function reject ( reason ) {
530
522
var result = new Deferred ( ) ;
531
523
result . reject ( reason ) ;
532
524
return result . promise ;
533
- } ;
534
-
535
- var makePromise = function makePromise ( value , resolved ) {
536
- var result = new Deferred ( ) ;
537
- if ( resolved ) {
538
- result . resolve ( value ) ;
539
- } else {
540
- result . reject ( value ) ;
541
- }
542
- return result . promise ;
543
- } ;
525
+ }
544
526
545
- var handleCallback = function handleCallback ( value , isResolved , callback ) {
527
+ function handleCallback ( value , resolver , callback ) {
546
528
var callbackOutput = null ;
547
529
try {
548
530
if ( isFunction ( callback ) ) callbackOutput = callback ( ) ;
549
531
} catch ( e ) {
550
- return makePromise ( e , false ) ;
532
+ return reject ( e ) ;
551
533
}
552
534
if ( isPromiseLike ( callbackOutput ) ) {
553
535
return callbackOutput . then ( function ( ) {
554
- return makePromise ( value , isResolved ) ;
555
- } , function ( error ) {
556
- return makePromise ( error , false ) ;
557
- } ) ;
536
+ return resolver ( value ) ;
537
+ } , reject ) ;
558
538
} else {
559
- return makePromise ( value , isResolved ) ;
539
+ return resolver ( value ) ;
560
540
}
561
- } ;
541
+ }
562
542
563
543
/**
564
544
* @ngdoc method
@@ -578,11 +558,11 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
578
558
*/
579
559
580
560
581
- var when = function ( value , callback , errback , progressBack ) {
561
+ function when ( value , callback , errback , progressBack ) {
582
562
var result = new Deferred ( ) ;
583
563
result . resolve ( value ) ;
584
564
return result . promise . then ( callback , errback , progressBack ) ;
585
- } ;
565
+ }
586
566
587
567
/**
588
568
* @ngdoc method
@@ -624,11 +604,9 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
624
604
forEach ( promises , function ( promise , key ) {
625
605
counter ++ ;
626
606
when ( promise ) . then ( function ( value ) {
627
- if ( results . hasOwnProperty ( key ) ) return ;
628
607
results [ key ] = value ;
629
608
if ( ! ( -- counter ) ) deferred . resolve ( results ) ;
630
609
} , function ( reason ) {
631
- if ( results . hasOwnProperty ( key ) ) return ;
632
610
deferred . reject ( reason ) ;
633
611
} ) ;
634
612
} ) ;
@@ -664,7 +642,7 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
664
642
return deferred . promise ;
665
643
}
666
644
667
- var $Q = function Q ( resolver ) {
645
+ function $ Q( resolver ) {
668
646
if ( ! isFunction ( resolver ) ) {
669
647
throw $qMinErr ( 'norslvr' , 'Expected resolverFn, got \'{0}\'' , resolver ) ;
670
648
}
@@ -682,7 +660,7 @@ function qFactory(nextTick, exceptionHandler, errorOnUnhandledRejections) {
682
660
resolver ( resolveFn , rejectFn ) ;
683
661
684
662
return deferred . promise ;
685
- } ;
663
+ }
686
664
687
665
// Let's make the instanceof operator work for promises, so that
688
666
// `new $q(fn) instanceof $q` would evaluate to true.
0 commit comments