22
33namespace React \Async ;
44
5- function parallel ($ tasks , $ callback = null , $ errback = null )
5+ /**
6+ * @param array<callable> $tasks
7+ * @param ?callable $callback
8+ * @param ?callable $errback
9+ * @return void
10+ */
11+ function parallel (array $ tasks , $ callback = null , $ errback = null )
612{
713 $ results = array ();
814 $ errors = array ();
915
10- $ taskErrback = function ($ error ) use (&$ errors , &$ checkDone ) {
11- $ errors [] = $ error ;
12- $ checkDone ();
13- };
14-
1516 $ done = function () use (&$ results , &$ errors , $ callback , $ errback ) {
1617 if (!$ callback ) {
1718 return ;
@@ -38,6 +39,11 @@ function parallel($tasks, $callback = null, $errback = null)
3839 }
3940 };
4041
42+ $ taskErrback = function ($ error ) use (&$ errors , $ checkDone ) {
43+ $ errors [] = $ error ;
44+ $ checkDone ();
45+ };
46+
4147 foreach ($ tasks as $ i => $ task ) {
4248 $ taskCallback = function ($ result ) use (&$ results , $ i , $ checkDone ) {
4349 $ results [$ i ] = $ result ;
@@ -48,10 +54,17 @@ function parallel($tasks, $callback = null, $errback = null)
4854 }
4955}
5056
51- function series ($ tasks , $ callback = null , $ errback = null )
57+ /**
58+ * @param array<callable> $tasks
59+ * @param ?callable $callback
60+ * @param ?callable $errback
61+ * @return void
62+ */
63+ function series (array $ tasks , $ callback = null , $ errback = null )
5264{
5365 $ results = array ();
5466
67+ /** @var callable():void $next */
5568 $ taskCallback = function ($ result ) use (&$ results , &$ next ) {
5669 $ results [] = $ result ;
5770 $ next ();
@@ -76,7 +89,13 @@ function series($tasks, $callback = null, $errback = null)
7689 $ next ();
7790}
7891
79- function waterfall ($ tasks , $ callback = null , $ errback = null )
92+ /**
93+ * @param array<callable> $tasks
94+ * @param ?callable $callback
95+ * @param ?callable $errback
96+ * @return void
97+ */
98+ function waterfall (array $ tasks , $ callback = null , $ errback = null )
8099{
81100 $ taskCallback = function () use (&$ next ) {
82101 call_user_func_array ($ next , func_get_args ());
0 commit comments