Пропуск
подавляет первые n элементов, испускаемых Observable
Вы можете игнорировать первые n элементов, испускаемых Observable, и обращать внимание только на те элементы, которые следуют за ними, модифицируя Observable с помощью оператора Пропуск.
См. также
- Последний
- Пропуск последнего
- Пропуск до
- Пропуск пока
- Взять
- Взять последний
- Взять до
- Взять пока
- Введение в Rx: Пропуск и Взятие
- RxMarbles:
skip
Информация, специфичная для языка
RxGroovy skip
В RxGroovy этот оператор реализован как skip.
Пример кода
numbers = Observable.from([1, 2, 3, 4, 5, 6, 7, 8]);
numbers.skip(3).subscribe(
{ println(it); }, // onNext
{ println("Error: " + it.getMessage()); }, // onError
{ println("Sequence complete"); } // onCompleted
); 4 5 6 7 8 Sequence complete
Этот вариант skip по умолчанию не работает с каким-либо конкретным распределением задач.
- Javadoc:
skip(int)
Существует также вариант skip, который принимает временную продолжительность вместо количества элементов. Он пропускает те элементы, которые испускаются в течение начального периода существования исходного Observable. Вы устанавливаете эту продолжительность, передавая длительность времени и единицы измерения этой длины в качестве параметров в skip.
Этот вариант skip по умолчанию работает на computation распределении задач, но вы также можете передать распределение задач по своему выбору в качестве необязательного третьего параметра.
- Javadoc:
skip(long,TimeUnit) - Javadoc:
skip(long,TimeUnit,Scheduler)
RxJava 1․x skip
В RxJava этот оператор реализован как skip.
Этот вариант skip по умолчанию не работает с каким-либо конкретным распределением задач.
- Javadoc:
skip(int)
Существует также вариант skip, который принимает временную продолжительность вместо количества элементов. Он пропускает те элементы, которые испускаются в течение начального периода существования исходного Observable. Вы устанавливаете эту продолжительность, передавая длительность времени и единицы измерения этой длины в качестве параметров в skip.
Этот вариант skip по умолчанию работает на computation распределении задач, но вы также можете передать распределение задач по своему выбору в качестве необязательного третьего параметра.
- Javadoc:
skip(long,TimeUnit) - Javadoc:
skip(long,TimeUnit,Scheduler)
RxJS skip skipUntilWithTime
RxJS реализует оператор skip.
Пример кода
var source = Rx.Observable.range(0, 5)
.skip(3);
var subscription = source.subscribe(
function (x) { console.log('Next: ' + x); },
function (err) { console.log('Error: ' + err); },
function () { console.log('Completed'); }); Next: 3 Next: 4 Completed
skip можно найти во всех следующих дистрибутивах:
rx.jsrx.all.jsrx.all.compat.jsrx.compat.jsrx.lite.jsrx.lite.compat.js
RxJS также реализует оператор skipUntilWithTime, который не пропускает определенное количество элементов из исходного Observable, но пропускает элементы на основе хронологии. Вы устанавливаете этот период пропуска, передавая параметр в skipUntilWithTime, в любом из этих форматов:
- число
- пропускает элементы из исходного Observable до тех пор, пока не пройдёт указанное количество миллисекунд с момента подписки на Observable
- дата
- пропускает элементы из исходного Observable до указанного абсолютного времени
Вы также можете необязательно передать распределение задач Scheduler в качестве второго параметра, и таймер будет работать на этом распределении задач (skipUntilWithTime по умолчанию использует timeout распределение задач).
Пример кода
var source = Rx.Observable.timer(0, 1000)
.skipUntilWithTime(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
skipUntilWithTime можно найти во всех следующих дистрибутивах:
rx.all.jsrx.all.compat.jsrx.time.js(требуетrx.jsилиrx.compat.js)rx.lite.jsrx.lite.compat.js
RxPHP skip
RxPHP реализует этот оператор как skip.
Пример кода
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/skip/skip.php
use Rx\Observable\ArrayObservable;
$observable = Rx\Observable::fromArray([1, 1, 2, 3, 5, 8, 13]);
$observable
->skip(3)
->subscribe($stdoutObserver); Next value: 3 Next value: 5 Next value: 8 Next value: 13 Complete!
© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/skip.html