Spec-Zone.ru › ReactiveX

Подключение

указывает подключаемому Observable начать отправлять элементы своим подписчикам
Connect

Подключаемое Observable похоже на обычное Observable, за исключением того, что оно не начинает отправлять элементы при подписке, а только тогда, когда к нему применяется оператор Connect. Таким образом, вы можете подождать, пока все предполагаемые наблюдатели не подпишутся на Observable, прежде чем Observable начнет отправлять элементы.

См. также

  • Publish
  • RefCount
  • Replay
  • Введение в Rx: Publish & Connect

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

RxGroovy connect

connect

В RxGroovy оператор connect является методом интерфейса ConnectableObservable. Вы можете использовать оператор publish для преобразования обычного Observable в ConnectableObservable.

Вызовите метод connect объекта ConnectableObservable, чтобы указать ему начать отправлять элементы из его базового Observable своим подписчикам.

Метод connect возвращает объект Subscription. Вы можете вызвать метод unsubscribe этого объекта Subscription, чтобы указать Observable остановить отправку элементов своим подписчикам.

Вы также можете использовать метод connect для того, чтобы указать Observable начать отправку элементов (или начать генерировать элементы, которые будут отправлены) еще до того, как какой-либо подписчик к нему подпишется. Таким образом, вы можете преобразовать холодное Observable в горячее.

  • Javadoc: connect()
  • Javadoc: connect(Action1)

RxJava 1․x connect

connect

В RxJava оператор connect является методом интерфейса ConnectableObservable. Вы можете использовать оператор publish для преобразования обычного Observable в ConnectableObservable.

Вызовите метод connect объекта ConnectableObservable, чтобы указать ему начать отправлять элементы из его базового Observable своим подписчикам.

Метод connect возвращает объект Subscription. Вы можете вызвать метод unsubscribe этого объекта Subscription, чтобы указать Observable остановить отправку элементов своим подписчикам.

Вы также можете использовать метод connect для того, чтобы указать Observable начать отправку элементов (или начать генерировать элементы, которые будут отправлены) еще до того, как какой-либо подписчик к нему подпишется. Таким образом, вы можете преобразовать холодное Observable в горячее.

  • Javadoc: connect()
  • Javadoc: connect(Action1)

RxJS connect

connect

В RxJS оператор connect является методом прототипа ConnectableObservable. Вы можете использовать оператор publish для преобразования обычного Observable в ConnectableObservable.

Вызовите метод connect объекта ConnectableObservable, чтобы указать ему начать отправлять элементы из его базового Observable своим подписчикам.

Метод connect возвращает объект Disposable. Вы можете вызвать метод dispose этого объекта Disposable, чтобы указать Observable остановить отправку элементов своим подписчикам.

Вы также можете использовать метод connect для того, чтобы указать Observable начать отправку элементов (или начать генерировать элементы, которые будут отправлены) еще до того, как какой-либо подписчик к нему подпишется. Таким образом, вы можете преобразовать холодное Observable в горячее.

Пример кода

var interval = Rx.Observable.interval(1000);

var source = interval
    .take(2)
    .do(function (x) { console.log('Side effect'); });

var published = source.publish();

published.subscribe(createObserver('SourceA'));
published.subscribe(createObserver('SourceB'));

// Connect the source
var connection = published.connect();

function createObserver(tag) {
    return Rx.Observer.create(
        function (x) { console.log('Next: ' + tag + x); },
        function (err) { console.log('Error: ' + err); },
        function () { console.log('Completed'); });
}
Side effect
Next: SourceA0
Next: SourceB0
Side effect
Next: SourceA1
Next: SourceB1
Completed
Completed

connect находится в следующих пакетах:

  • rx.all.js
  • rx.all.compat.js
  • rx.all.binding.js

Для использования connect нужен один из следующих пакетов:

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

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

Spec-Zone.ru

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