File tree Expand file tree Collapse file tree 1 file changed +16
-11
lines changed Expand file tree Collapse file tree 1 file changed +16
-11
lines changed Original file line number Diff line number Diff line change @@ -169,20 +169,25 @@ var GLUtil={
169169 successes :[ ] , failures :[ ] } ) ;
170170 }
171171 var ret = { successes :[ ] , failures :[ ] } ;
172- var retPromise = Promise . resolve ( ret ) ;
173- for ( var i = 0 ; i < totalPromises ; i ++ ) {
174- var currPromise = promises [ i ] ;
175- retPromise = currPromise . then ( function ( result ) {
172+ return new Promise ( function ( resolve , reject ) {
173+ var ret = { successes :[ ] , failures :[ ] } ;
174+ var totalPromises = promises . length ;
175+ var count = 0 ;
176+ for ( var i = 0 ; i < totalPromises ; i ++ ) {
177+ var promise = promises [ i ] ;
178+ promise . then ( function ( result ) {
176179 ret . successes . push ( result ) ;
177- if ( progressResolve ) progressResolve ( result ) ;
178- return Promise . resolve ( ret ) ;
179- } , function ( result ) {
180+ if ( progressResolve ) progressResolve ( result ) ;
181+ count ++ ;
182+ if ( count == totalPromises ) { resolve ( ret ) ; }
183+ } , function ( result ) {
180184 ret . failures . push ( result ) ;
181185 if ( progressReject ) progressReject ( result ) ;
182- return Promise . resolve ( ret ) ;
183- } ) ;
184- }
185- return retPromise ;
186+ count ++ ;
187+ if ( count == totalPromises ) { resolve ( ret ) ; }
188+ } ) ;
189+ }
190+ } ) ;
186191} ,
187192/**
188193* Loads a file from a URL asynchronously, using XMLHttpRequest.
You can’t perform that action at this time.
0 commit comments