File tree Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ /*
4
+ This example shows how nextTick and futureTick events are scheduled for
5
+ execution.
6
+
7
+ The expected output is:
8
+
9
+ next-tick #1
10
+ next-tick #2
11
+ future-tick #1
12
+ timer
13
+ future-tick #2
14
+
15
+ Note that both nextTick and futureTick events are executed before timer and I/O
16
+ events on each tick.
17
+
18
+ nextTick events registered inside an existing nextTick handler are guaranteed
19
+ to be executed before timer and I/O handlers are processed, whereas futureTick
20
+ handlers are always deferred.
21
+ */
22
+
23
+ require __DIR__ .'/../vendor/autoload.php ' ;
24
+
25
+ $ loop = React \EventLoop \Factory::create ();
26
+
27
+ $ loop ->addTimer (
28
+ 0 ,
29
+ function () {
30
+ echo 'timer ' . PHP_EOL ;
31
+ }
32
+ );
33
+
34
+ $ loop ->nextTick (
35
+ function ($ loop ) {
36
+ echo 'next-tick #1 ' . PHP_EOL ;
37
+
38
+ $ loop ->nextTick (
39
+ function () {
40
+ echo 'next-tick #2 ' . PHP_EOL ;
41
+ }
42
+ );
43
+ }
44
+ );
45
+
46
+ $ loop ->futureTick (
47
+ function ($ loop ) {
48
+ echo 'future-tick #1 ' . PHP_EOL ;
49
+
50
+ $ loop ->futureTick (
51
+ function () {
52
+ echo 'future-tick #2 ' . PHP_EOL ;
53
+ }
54
+ );
55
+ }
56
+ );
57
+
58
+ $ loop ->run ();
You can’t perform that action at this time.
0 commit comments