rx/swoole

RxPHP Swoole

0.0.2 2018-04-19 21:59 UTC

This package is auto-updated.

Last update: 2024-09-06 00:20:38 UTC


README

此项目允许您在使用 Swoole 的同时使用 RxPHP。

安装

首先,安装 swoole

然后使用 composer 将 rx/swoole 添加到您的项目中

    composer require rx/swoole

它为您启动了一个 Swoole 调度器,因此您可以执行类似以下操作

  \Rx\Observable::interval(1000)
    ->take(5)
    ->subscribe(function($i){
      echo $i, PHP_EOL;
    });
    

与其他 Swoole 模块一起使用

在此库中,有少数 Swoole 模块提供了辅助的 Rx 包装器。您可以使用这些来组合成更复杂的示例

// this example uses the rx/operator-extras package for `cut`

$file = \Rx\Swoole\Async::read(__DIR__ . '/url_list.txt');

$urlInfo = $file
    ->cut("\n")
    ->flatMap(function ($url) {
        return \Rx\Swoole\Http::get($url)
            ->map(function ($content) use ($url) {
                return $url . " is " . strlen($content) . " bytes.\n";
            });
    });

$urlInfo->subscribe(function ($info) {
        echo $info;
    });