Rx\React\Promise::fromObservable PHP Method

fromObservable() public static method

Converts an existing observable sequence to React Promise
public static fromObservable ( Rx\ObservableInterface $observable, Deferred $deferred = null ) : Promise
$observable Rx\ObservableInterface
$deferred React\Promise\Deferred
return React\Promise\Promise
    public static function fromObservable(ObservableInterface $observable, Deferred $deferred = null)
    {
        $d = $deferred ?: new Deferred();
        $value = null;
        $observable->subscribe(new CallbackObserver(function ($v) use(&$value) {
            $value = $v;
        }, function ($error) use($d) {
            $d->reject($error);
        }, function () use($d, &$value) {
            $d->resolve($value);
        }));
        return $d->promise();
    }

Usage Example

 /**
  * @test
  *
  */
 public function promise_failure()
 {
     $source = new Subject();
     $source->onError(new Exception("some error"));
     $promise = Promise::fromObservable($source);
     $promise->then(function ($value) {
         $this->assertTrue(false);
     }, function ($error) {
         $this->assertEquals($error, new Exception("some error"));
     });
 }
All Usage Examples Of Rx\React\Promise::fromObservable