File tree Expand file tree Collapse file tree 1 file changed +7
-7
lines changed
Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -19,16 +19,11 @@ angular.module('ajoslin.promise-tracker', [])
1919 }
2020
2121 return function PromiseTracker ( options ) {
22- //do new if user doesn't
23- if ( ! ( this instanceof PromiseTracker ) ) {
24- return new PromiseTracker ( options ) ;
25- }
26-
2722 options = options || { } ;
2823
2924 //Array of promises being tracked
3025 var tracked = [ ] ;
31- var self = this ;
26+ var self = { } ;
3227
3328 //Allow an optional "minimum duration" that the tracker has to stay active for.
3429 var minDuration = options . minDuration ;
@@ -109,10 +104,15 @@ angular.module('ajoslin.promise-tracker', [])
109104 } ;
110105
111106 self . addPromise = function ( promise ) {
107+ if ( Array . isArray ( promise ) ) {
108+ return $q . all ( promise . map ( self . addPromise ) ) ;
109+ }
110+
112111 promise = promise && ( promise . $promise || promise ) || { } ;
113112 if ( ! promise . then ) {
114113 throw new Error ( "promiseTracker#addPromise expects a promise object!" ) ;
115114 }
115+
116116 var deferred = self . createPromise ( ) ;
117117
118118 //When given promise is done, resolve our created promise
@@ -131,4 +131,4 @@ angular.module('ajoslin.promise-tracker', [])
131131 } ] ;
132132} ) ;
133133
134- } ( ) ) ;
134+ } ( ) ) ;
You can’t perform that action at this time.
0 commit comments