Spec-Zone.ru › ReactiveX

SkipLast

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

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

См. также

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

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

RxGroovy skipLast

skipLast

Вы можете пропустить последние n элементов, испускаемых Observable, и обращать внимание только на те, что предшествуют им, изменив Observable с помощью оператора skipLast(n). Обратите внимание, что механизм реализации этого отложит испускание любого элемента из исходного Observable до тех пор, пока не будут испущены еще n элементов этим Observable.

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

  • Javadoc: skipLast(int)
skipLast

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

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

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

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

RxJava 1․x skipLast

skipLast

Вы можете проигнорировать последние n элементов, испускаемых Observable, и обращать внимание только на те элементы, которые предшествуют им, изменив Observable с помощью оператора skipLast(n). Обратите внимание, что механизм реализации этого отложит испускание любого элемента из исходного Observable до тех пор, пока не будут испущены ещё n элементов этим Observable.

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

  • Javadoc: skipLast(int)
skipLast

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

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

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

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

RxJS skipLast skipLastWithTime

skipLast

Вы можете пропустить последние n элементов, испускаемых Observable, и обращать внимание только на те элементы, что предшествуют им, изменив Observable с помощью оператора skipLast(n). Обратите внимание, что механизм реализации этого отложит испускание любого элемента из исходного Observable до тех пор, пока не будут испущены ещё n элементов этим Observable.

Пример кода

var source = Rx.Observable.range(0, 5)
    .skipLast(3);

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

skipLast доступен во всех следующих дистрибутивах:

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

Оператор skipLastWithTime принимает временной интервал вместо количества элементов. Он отбрасывает те элементы, которые испускаются в течение этого конечного интервала существования исходного Observable. Вы задаёте этот интервал, передавая количество миллисекунд в качестве параметра оператору skipLastWithTime.

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

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

Пример кода

var source = Rx.Observable.timer(0, 1000)
    .take(10)
    .skipLastWithTime(5000);

var subscription = source.subscribe(
    function (x) { console.log('Next: ' + x); },
    function (err) { console.log('Error: ' + err); },
    function () { console.log('Completed'); });
Next: 0
Next: 1
Next: 2
Next: 3
Next: 4
Completed

skipLastWithTime доступен во всех следующих дистрибутивах:

  • rx.all.js
  • rx.all.compat.js
  • rx.time.js (требует rx.js или rx.compat.js)
  • rx.lite.js
  • rx.lite.compat.js

RxPHP skipLast

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

Пропускает указанное количество элементов в конце последовательности observable. Этот оператор накапливает очередь, достаточной длины, чтобы сохранить первые `count` элементов. По мере получения дополнительных элементов, элементы берутся с начала очереди и генерируются в результирующей последовательности. Это приводит к задержке элементов.

Пример кода

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

$observable = Rx\Observable::range(0, 5)
    ->skipLast(3);

$observable->subscribe($stdoutObserver);
Next value: 0
Next value: 1
Complete!

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

Spec-Zone.ru

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