Spec-Zone.ru › ReactiveX

Пропуск

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

Вы можете игнорировать первые n элементов, испускаемых Observable, и обращать внимание только на те элементы, которые следуют за ними, модифицируя Observable с помощью оператора Пропуск.

См. также

  • Последний
  • Пропуск последнего
  • Пропуск до
  • Пропуск пока
  • Взять
  • Взять последний
  • Взять до
  • Взять пока
  • Введение в Rx: Пропуск и Взятие
  • RxMarbles: skip

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

RxGroovy skip

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

Существует также вариант skip, который принимает временную продолжительность вместо количества элементов. Он пропускает те элементы, которые испускаются в течение начального периода существования исходного Observable. Вы устанавливаете эту продолжительность, передавая длительность времени и единицы измерения этой длины в качестве параметров в skip.

Этот вариант skip по умолчанию работает на computation распределении задач, но вы также можете передать распределение задач по своему выбору в качестве необязательного третьего параметра.

  • Javadoc: skip(long,TimeUnit)
  • Javadoc: skip(long,TimeUnit,Scheduler)

RxJava 1․x skip

skip

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

Этот вариант skip по умолчанию не работает с каким-либо конкретным распределением задач.

  • Javadoc: skip(int)
skip

Существует также вариант skip, который принимает временную продолжительность вместо количества элементов. Он пропускает те элементы, которые испускаются в течение начального периода существования исходного Observable. Вы устанавливаете эту продолжительность, передавая длительность времени и единицы измерения этой длины в качестве параметров в skip.

Этот вариант skip по умолчанию работает на computation распределении задач, но вы также можете передать распределение задач по своему выбору в качестве необязательного третьего параметра.

  • Javadoc: skip(long,TimeUnit)
  • Javadoc: skip(long,TimeUnit,Scheduler)

RxJS skip skipUntilWithTime

skip

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.js
  • rx.all.js
  • rx.all.compat.js
  • rx.compat.js
  • rx.lite.js
  • rx.lite.compat.js
skipUntilWithTime

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.js
  • rx.all.compat.js
  • rx.time.js (требует rx.js или rx.compat.js)
  • rx.lite.js
  • rx.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

Spec-Zone.ru

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