SkipUntil
отбрасывать элементы, испускаемые Observable, до тех пор, пока второй Observable не испустит элемент
SkipUntil подписывается на исходное Observable, но игнорирует его испускания до тех пор, пока второй Observable не испустит элемент, в этот момент SkipUntil начинает отражать исходное Observable.
См. также
- Skip
- SkipLast
- SkipWhile
- Take
- TakeLast
- TakeUntil
- TakeWhile
- Введение в Rx: SkipUntil и TakeUntil
- RxMarbles:
skipUntil
Информация, специфичная для языка
RxGroovy skipUntil
В RxGroovy этот оператор реализован как skipUntil.
skipUntil по умолчанию не работает с каким-либо конкретным Scheduler.
- Javadoc:
skipUntil(Observable)
RxJava 1․x skipUntil
В RxJava этот оператор реализован как skipUntil.
skipUntil по умолчанию не работает с каким-либо конкретным Scheduler.
- Javadoc:
skipUntil(Observable)
RxJS 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.jsrx.all.jsrx.all.compat.jsrx.compat.jsrx.lite.jsrx.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