Spec-Zone.ru › ReactiveX

SkipUntil

отбрасывать элементы, испускаемые Observable, до тех пор, пока второй Observable не испустит элемент
Открыть интерактивную диаграмму на rxmarbles.com

SkipUntil подписывается на исходное Observable, но игнорирует его испускания до тех пор, пока второй Observable не испустит элемент, в этот момент SkipUntil начинает отражать исходное Observable.

См. также

  • Skip
  • SkipLast
  • SkipWhile
  • Take
  • TakeLast
  • TakeUntil
  • TakeWhile
  • Введение в Rx: SkipUntil и TakeUntil
  • RxMarbles: skipUntil

Информация, специфичная для языка

RxGroovy skipUntil

skipUntil

В RxGroovy этот оператор реализован как skipUntil.

skipUntil по умолчанию не работает с каким-либо конкретным Scheduler.

  • Javadoc: skipUntil(Observable)

RxJava 1․x skipUntil

skipUntil

В RxJava этот оператор реализован как skipUntil.

skipUntil по умолчанию не работает с каким-либо конкретным Scheduler.

  • Javadoc: skipUntil(Observable)

RxJS skipUntil

skipUntil

RxJS реализует оператор skipUntil. Вы можете передать ему либо Observable, либо Promise, за которым он будет следить, ожидая элемент, который сработает skipUntil, и начнет отражать исходное Observable.

Пример кода

var source = Rx.Observable.timer(0, 1000)
    .skipUntil(Rx.Observable.timer(5000));

var subscription = source.subscribe(
    function (x) { console.log('Next: ' + x); },
    function (err) { console.log('Error: ' + err); },
    function () { console.log('Completed'); });
Next: 6
Next: 7
Next: 8
Completed

skipUntil находится в каждом из следующих дистрибутивов:

  • rx.js
  • rx.all.js
  • rx.all.compat.js
  • rx.compat.js
  • rx.lite.js
  • rx.lite.compat.js

Также есть оператор skipUntilWithTime, которому вы можете передать абсолютное время или начальную продолжительность вместо Observable, но это описано на странице оператора Skip.

RxPHP skipUntil

RxPHP реализует этот оператор как skipUntil.

Возвращает значения из последовательности исходного observable только после того, как другая последовательность observable произведет значение.

Пример кода

//from https://github.com/ReactiveX/RxPHP/blob/master/demo/skip/skipUntil.php

$observable = Rx\Observable::interval(1000)
    ->skipUntil(\Rx\Observable::timer(5000))
    ->take(3);

$observable->subscribe($stdoutObserver);
Next value: 4
Next value: 5
Next value: 6
Complete!

© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/skipuntil.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API