Skip to content

Commit 9ca6680

Browse files
committed
Add waterfall example to README
1 parent 28305de commit 9ca6680

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

README.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@ The recommended way to install react/async is [through composer](http://getcompo
2020

2121
## Example
2222

23+
### Parallel
24+
2325
```php
2426
<?php
2527

28+
use React\Async\Util as Async;
29+
2630
$loop = React\EventLoop\Factory::create();
2731

28-
React\Async\Util::parallel(
32+
Async::parallel(
2933
array(
3034
function ($callback, $errback) use ($loop) {
3135
$loop->addTimer(1, function () use ($callback) {
@@ -56,6 +60,39 @@ React\Async\Util::parallel(
5660
$loop->run();
5761
```
5862

63+
### Waterfall
64+
65+
```php
66+
<?php
67+
68+
use React\Async\Util as Async;
69+
70+
$loop = React\EventLoop\Factory::create();
71+
72+
$addOne = function ($prev, $callback = null) use ($loop) {
73+
if (!$callback) {
74+
$callback = $prev;
75+
$prev = 0;
76+
}
77+
78+
$loop->addTimer(1, function () use ($prev, $callback) {
79+
$callback($prev + 1);
80+
});
81+
};
82+
83+
Async::waterfall(array(
84+
$addOne,
85+
$addOne,
86+
$addOne,
87+
function ($prev, $callback) use ($loop) {
88+
echo "Final result is $prev\n";
89+
$callback();
90+
},
91+
));
92+
93+
$loop->run();
94+
```
95+
5996
## Todo
6097

6198
* Implement queue()

0 commit comments

Comments
 (0)