File tree Expand file tree Collapse file tree 2 files changed +30
-25
lines changed Expand file tree Collapse file tree 2 files changed +30
-25
lines changed Original file line number Diff line number Diff line change 2
2
3
3
use ApiClients \Client \Pusher \Event ;
4
4
use React \EventLoop \Factory ;
5
- use Rx \Observer \CallbackObserver ;
6
5
use ApiClients \Client \Pusher \AsyncClient ;
7
6
8
7
require dirname (__DIR__ ) . DIRECTORY_SEPARATOR . 'vendor/autoload.php ' ;
15
14
*/
16
15
$ client = AsyncClient::create ($ loop , 'de504dc5763aeef9ff52 ' );
17
16
18
- $ channelitems = array ('live_trades ' ,'live_trades_xrpusd ' );
19
- foreach ($ channelitems as $ channelitem ) {
20
- $ client ->channel ($ channelitem )->subscribe (function (Event $ event ) {
21
- echo 'Channel: ' . $ event ->getChannel (). PHP_EOL ;
22
- echo 'Event: ' . $ event ->getEvent (). PHP_EOL ;
23
- echo 'Data: ' . print_r ($ event ->getData (),1 ). PHP_EOL ;
17
+ $ channelitems = array ('live_trades ' , 'live_trades_xrpusd ' );
18
+
19
+ $ channels = Rx \Observable::fromArray ($ channelitems )
20
+ ->flatMap (function ($ channelitem ) use ($ client ) {
21
+ return $ client ->channel ($ channelitem );
24
22
});
25
- }
23
+
24
+ $ channels ->subscribe (function (Event $ event ) {
25
+ echo 'Channel: ' . $ event ->getChannel () . PHP_EOL ;
26
+ echo 'Event: ' . $ event ->getEvent () . PHP_EOL ;
27
+ echo 'Data: ' . print_r ($ event ->getData (), 1 ) . PHP_EOL ;
28
+ });
26
29
27
30
$ loop ->run ();
Original file line number Diff line number Diff line change 14
14
*/
15
15
$ client = AsyncClient::create ($ loop , require 'reddit.key.php ' );
16
16
17
- $ subReddits = $ argv ;
18
- array_shift ($ subReddits );
19
- foreach ($ subReddits as $ subReddit ) {
20
- $ client ->channel ($ subReddit )->subscribe (
21
- function (Event $ event ) {
22
- echo 'Channel: ' , $ event ->getChannel (), PHP_EOL ;
23
- echo 'Event: ' , $ event ->getEvent (), PHP_EOL ;
24
- echo 'Data: ' , json_encode ($ event ->getData ()), PHP_EOL ;
25
- },
26
- function ($ e ) {
27
- echo (string )$ e ;
28
- },
29
- function () {
30
- echo 'Done! ' , PHP_EOL ;
31
- }
32
- );
33
- }
17
+ $ subReddits = \Rx \Observable::fromArray ($ argv )
18
+ ->skip (1 )
19
+ ->flatMap (function ($ subReddit ) use ($ client ) {
20
+ return $ client ->channel ($ subReddit );
21
+ });
22
+
23
+ $ subReddits ->subscribe (
24
+ function (Event $ event ) {
25
+ echo 'Channel: ' , $ event ->getChannel (), PHP_EOL ;
26
+ echo 'Event: ' , $ event ->getEvent (), PHP_EOL ;
27
+ echo 'Data: ' , json_encode ($ event ->getData ()), PHP_EOL ;
28
+ },
29
+ function ($ e ) {
30
+ echo (string )$ e ;
31
+ },
32
+ function () {
33
+ echo 'Done! ' , PHP_EOL ;
34
+ }
35
+ );
34
36
35
37
$ loop ->run ();
You can’t perform that action at this time.
0 commit comments