subscribeCallback() public method

public subscribeCallback ( callable $onNext = null, callable $onError = null, callable $onCompleted = null, rx\SchedulerInterface $scheduler = null )
$onNext callable
$onError callable
$onCompleted callable
$scheduler rx\SchedulerInterface
示例#1
0
 public function observe(Observable $observable)
 {
     return $observable->subscribeCallback(function (Event $event) {
         //$name = basename(str_replace('\\', '/', (is_object($event) ? get_class($event) : $event)));
         //\Log::info("{$this->preposition} {$name} {$event->name}", $event->labels);
         if ($this->verbosity == 4) {
             $this->dump($event->data);
         }
     }, function ($e) {
         if ($this->verbosity == 4) {
             //\Log::error("{$this->preposition} {$e->getMessage()}");
         } else {
             //\Log::error("{$this->preposition} {$e->getMessage()}", [$e]);
         }
     }, function () {
         //\Log::warning("{$this->preposition} event stream is complete");
     });
 }
示例#2
0
/**
 * @param Observable $observable
 * @param LoopInterface|null $loop
 * @return null
 * @throws \Exception
 */
function awaitOnce(Observable $observable, LoopInterface $loop = null)
{
    $loop = $loop ?: \EventLoop\getLoop();
    $done = false;
    $res = null;
    $observable->subscribeCallback(function ($el) use(&$done, &$res) {
        $res = $el;
        $done = true;
    }, function ($e) use(&$done, &$res) {
        $res = $e;
        $done = true;
    }, function () use(&$done) {
        $done = true;
    }, new EventLoopScheduler($loop));
    while (!$done) {
        $loop->tick();
    }
    if ($res instanceof \Exception) {
        throw $res;
    }
    return $res;
}