/** * @test */ public function from_promise_success() { $source = PromiseFactory::toObservable(function () { return Promise::resolved(42); }); $results = $this->scheduler->startWithCreate(function () use($source) { return $source; }); $this->assertMessages(array(onNext(200, 42), onCompleted(200)), $results->getMessages()); }
/** * @test * */ public function from_promise_success() { $p = Promise::resolved(42); $source = Promise::toObservable($p); $source->subscribe(new CallbackObserver(function ($x) { $this->assertEquals(42, $x); }, function ($error) { $this->assertFalse(true); }, function () { $this->assertTrue(true); })); }
<?php require_once __DIR__ . '/../bootstrap.php'; $p = \Rx\React\Promise::resolved(42); $source = \Rx\React\Promise::toObservable($p); $subscription = $source->subscribe($stdoutObserver); //Next value: 42 //Complete! // Create a promise which rejects with an error $p = \Rx\React\Promise::rejected(new Exception('because')); $source2 = \Rx\React\Promise::toObservable($p); $subscription = $source2->subscribe($createStdoutObserver()); //Exception: because
<?php require_once __DIR__ . '/../bootstrap.php'; /* Using a promise */ $source = \Rx\React\PromiseFactory::toObservable(function () { return \Rx\React\Promise::resolved(42); }); $subscription = $source->subscribe($createStdoutObserver()); //Next value: 42 //Complete!