Явное завершение потока в RxJava - PullRequest
0 голосов
/ 11 марта 2019

Читая о RxJava, я заметил, что вы можете контролировать, когда поток завершается, то есть когда последний поток отправляется в нисходящем направлении.Не ясно, как вы на самом деле контролируете это.Большинство примеров, которые я видел в RxJava, позволит вам создать Observable, используя что-то вроде «just» или «fromIterable» и массив.Каждый элемент в массиве затем будет отправлен вниз по потоку, а затем вызывается onComplete после обработки последнего излучения.Конечно, вы можете применять операторы, такие как «take», которые также приведут к выполнению onComplete после того, как количество отправок было отправлено.

Но возможно ли вызвать onComplete для выполнения более универсальным оператором, таким как"закончить" (чего не существует)?Или вам нужно полагаться на существующие операторы для выполнения onComplete?Другими словами, вместо того, чтобы полагаться на выполнение условия onComplete для выполнения, могу ли я явно вызвать что-то для завершения потока?

1 Ответ

1 голос
/ 15 марта 2019

Вы можете использовать оператор TakeWhile :

зеркальные элементы, испускаемые Observable, пока указанное условие не станет ложным

...