Spec-Zone.ru › ReactiveX

SequenceEqual

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

Передайте оператору SequenceEqual два Observable, и он сравнит элементы, испускаемые каждым Observable, и возвращаемое Observable будет испускать true только если обе последовательности одинаковы (одинаковые элементы в том же порядке с тем же состоянием завершения).

См. также

  • Введение в Rx: SequenceEqual
  • RxMarbles: sequenceEqual

Сведения о языке

RxGroovy sequenceEqual

sequenceEqual

Передайте оператору sequenceEqual два Observable, и он сравнит элементы, испускаемые каждым Observable, а возвращаемое Observable будет испускать true только если обе последовательности завершатся нормально после испускания одинаковой последовательности элементов в том же порядке; в противном случае будет испускать false. Вы можете необязательно передать третий параметр: функцию, которая принимает два элемента и возвращает true , если они равны согласно вашему стандарту.

Пример кода

def firstfour = Observable.from([1, 2, 3, 4]);
def firstfouragain = Observable.from([1, 2, 3, 4]);
def firstfive = Observable.from([1, 2, 3, 4, 5]);
def firstfourscrambled = Observable.from([3, 2, 1, 4]);

println('firstfour == firstfive?');
Observable.sequenceEqual(firstfour, firstfive).subscribe({ println(it); });
println('firstfour == firstfouragain?');
Observable.sequenceEqual(firstfour, firstfouragain).subscribe({ println(it); });
println('firstfour == firstfourscrambled?');
Observable.sequenceEqual(firstfour, firstfourscrambled).subscribe({ println(it); });
firstfour == firstfive?
false
firstfour == firstfouragain?
true
firstfour == firstfourscrambled?
false

Данный оператор по умолчанию не работает с каким-либо конкретным Планировщиком.

  • Javadoc: sequenceEqual(Observable,Observable)
  • Javadoc: sequenceEqual(Observable,Observable,Func2)

RxJava 1․x sequenceEqual

sequenceEqual

Передайте оператору sequenceEqual два Observable, и он сравнит элементы, испускаемые каждым Observable, и возвращаемое Observable будет испускать true только если обе последовательности завершатся нормально после испускания одинаковой последовательности элементов в том же порядке; в противном случае будет испускать false. Вы можете необязательно передать третий параметр: функцию, которая принимает два элемента и возвращает true , если они равны согласно вашему стандарту.

Данный оператор по умолчанию не работает с каким-либо конкретным Планировщиком.

  • Javadoc: sequenceEqual(Observable,Observable)
  • Javadoc: sequenceEqual(Observable,Observable,Func2)

RxJS sequenceEqual

sequenceEqual

В RxJS, sequenceEqual — это метод конкретного экземпляра Observable, поэтому вы передаёте ровно один другой Observable для сравнения с экземпляром. Вы можете необязательно передать второй параметр: функцию, которая принимает два элемента и возвращает true , если они равны согласно вашему стандарту. sequenceEqual возвращает Observable, который будет испускать true , если оба Observable испускают один и тот же набор элементов в том же порядке до завершения, или false в противном случае.

Пример кода

var source1 = Rx.Observable.return(42);
var source2 = Rx.Observable.return(42);

var source = source1.sequenceEqual(source2);

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

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

  • rx.all.js
  • rx.all.compat.js
  • rx.aggregates.js

sequenceEqual требует одного из следующих дистрибутивов:

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

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

Spec-Zone.ru

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