Пример #1
0
 public function dispose()
 {
     if ($this->isDisposed) {
         return;
     }
     $this->isDisposed = true;
     $this->scheduler->schedule(function () {
         $this->disposable->dispose();
     });
 }
Пример #2
0
 /**
  * @inheritDoc
  */
 public function __invoke(ObservableInterface $observable, ObserverInterface $observer, SchedulerInterface $scheduler = null)
 {
     $disposable = new SerialDisposable();
     $singleDisposable = new SingleAssignmentDisposable();
     $disposable->setDisposable($singleDisposable);
     $singleDisposable->setDisposable($this->scheduler->schedule(function () use($disposable, $observer, $observable, $scheduler) {
         $subscription = $observable->subscribe($observer, $scheduler);
         $disposable->setDisposable(new ScheduledDisposable($this->scheduler, $subscription));
     }));
     return $disposable;
 }