@@ -300,7 +300,7 @@ private function checkStatus(array $callbacks, mixed $return) : void
300300 {
301301 $ cancel = false ;
302302
303- foreach ($ callbacks as $ case => $ callable )
303+ foreach (GeneratorManager:: getFromArray ( $ callbacks) as $ case => $ callable )
304304 {
305305 if ($ return === null )
306306 {
@@ -317,6 +317,7 @@ private function checkStatus(array $callbacks, mixed $return) : void
317317
318318 if (!is_null ($ queue1 ))
319319 {
320+ /** @var callable $callable */
320321 $ queue1 ->then ($ callable );
321322
322323 if (is_callable ($ this ->callbackReject ))
@@ -326,6 +327,7 @@ private function checkStatus(array $callbacks, mixed $return) : void
326327 }
327328 elseif (!is_null ($ queue2 ))
328329 {
330+ /** @var callable $callable */
329331 $ queue2 ->then ($ callable );
330332
331333 if (is_callable ($ this ->callbackReject ))
@@ -365,7 +367,7 @@ public static function all(array $promises): Promise
365367
366368 while ($ isSolved === false )
367369 {
368- foreach ($ promises as $ promise )
370+ foreach (GeneratorManager:: getFromArray ( $ promises) as $ promise )
369371 {
370372 if (is_callable ($ promise ))
371373 {
@@ -417,14 +419,14 @@ public static function all(array $promises): Promise
417419 */
418420 public static function allSettled (array $ promises ): Promise
419421 {
420- $ promise = new Promise (function ($ resolve, $ reject ) use ($ promises ): void
422+ $ promise = new Promise (function ($ resolve ) use ($ promises ): void
421423 {
422424 $ results = [];
423425 $ isSolved = false ;
424426
425427 while ($ isSolved === false )
426428 {
427- foreach ($ promises as $ promise )
429+ foreach (GeneratorManager:: getFromArray ( $ promises) as $ promise )
428430 {
429431 if (is_callable ($ promise ))
430432 {
@@ -437,7 +439,7 @@ public static function allSettled(array $promises): Promise
437439
438440 if ($ return !== null )
439441 {
440- $ results [] = $ return ->getResult ();
442+ $ results [] = new PromiseResult ( $ return ->getStatus (), $ return -> getResult () );
441443 }
442444 }
443445
@@ -474,7 +476,7 @@ public static function any(array $promises): Promise
474476
475477 while ($ isSolved === false )
476478 {
477- foreach ($ promises as $ promise )
479+ foreach (GeneratorManager:: getFromArray ( $ promises) as $ promise )
478480 {
479481 if (is_callable ($ promise ))
480482 {
@@ -532,7 +534,7 @@ public static function race(array $promises): Promise
532534
533535 while ($ isSolved === false )
534536 {
535- foreach ($ promises as $ promise )
537+ foreach (GeneratorManager:: getFromArray ( $ promises) as $ promise )
536538 {
537539 if (is_callable ($ promise ))
538540 {
0 commit comments