StartWith
выпустить указанную последовательность элементов перед началом выпуска элементов из исходного Observable
Если вы хотите, чтобы Observable выпускал определенную последовательность элементов перед началом обычного выпуска элементов, ожидаемых от него, примените оператор StartWith к нему.
(Если, с другой стороны, вы хотите добавить последовательность элементов в конец тех, которые обычно выпускаются Observable, вам нужен оператор Concat.)
См. также
Сведения о языке
RxClojure cons
RxClojure реализует этот оператор как cons. Он принимает элемент и Observable в качестве параметров и добавляет элемент в начало элементов, выпускаемых Observable, как собственную последовательность Observable.
RxCpp start_with
RxCpp реализует этот оператор как start_with. Он принимает Observable и один или несколько элементов в качестве параметров и добавляет эти элементы в порядке их указания в списке параметров в начало элементов, выпускаемых Observable, как собственную последовательность Observable.
RxGroovy startWith
RxGroovy реализует этот оператор как startWith.
Вы можете передать значения, которые вы хотите добавить в начало последовательности Observable, в startWith либо в одном Iterable, либо как серию от одного до девяти параметров функции.
Пример кода
def myObservable = Observable.from([1, 2, 3]);
myObservable.startWith(-3, -2, -1, 0).subscribe(
{ println(it); }, // onNext
{ println("Error: " + it.getMessage()); }, // onError
{ println("Sequence complete"); } // onCompleted
); -3 -2 -1 0 1 2 3
- Javadoc:
startWith(Iterable) - Javadoc:
startWith(T)(также существуют версии, принимающие до девяти отдельных элементов)
Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.
- Javadoc:
startWith(Observable)
RxJava 1․x startWith
RxJava реализует этот оператор как startWith.
Вы можете передать значения, которые вы хотите добавить в начало последовательности Observable, в startWith либо в одном Iterable, либо как серию от одного до девяти параметров функции.
- Javadoc:
startWith(Iterable) - Javadoc:
startWith(T)(также существуют версии, принимающие до девяти отдельных элементов)
Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.
- Javadoc:
startWith(Observable)
RxJS startWith
RxJS реализует этот оператор как startWith. Он принимает переменное число параметров функции и рассматривает каждый из них как элемент, который он добавит в начало результирующей последовательности Observable в порядке их указания в списке параметров.
startWith можно найти в следующих дистрибутивах:
rx.jsrx.all.jsrx.all.compat.jsrx.compat.jsrx.lite.jsrx.lite.compat.js
RxKotlin startWith
RxKotlin реализует этот оператор как startWith.
Вы можете передать значения, которые вы хотите добавить в начало последовательности Observable, в startWith либо в одном Iterable, либо как серию от одного до девяти параметров функции.
Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.
RxNet StartWith
Rx.NET реализует этот оператор как StartWith. Он принимает массив элементов, который он добавляет в начало результирующей последовательности Observable в порядке их появления в массиве перед выпуском элементов из исходного Observable.
RxPHP startWith startWithArray
RxPHP реализует этот оператор как startWith.
Добавляет значение в начало последовательности Observable с аргументом значения сигнала для добавления.
Пример кода
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/startWith/startWith.php
$source = \Rx\Observable::of(2)
->startWith(1);
$subscription = $source->subscribe($stdoutObserver); Next value: 1 Next value: 2 Complete!
RxPHP также имеет оператор startWithArray.
Добавляет последовательность значений в начало последовательности Observable с аргументом массива значений для добавления.
Пример кода
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/startWith/startWithArray.php
$source = \Rx\Observable::of(4)
->startWithArray([1, 2, 3]);
$subscription = $source->subscribe($stdoutObserver); Next value: 1 Next value: 2 Next value: 3 Next value: 4 Complete!
RxPY start_with
RxPY реализует этот оператор как start_with. Он принимает массив элементов, который он добавляет в начало результирующей последовательности Observable в порядке их появления в массиве перед выпуском элементов из исходного Observable.
Rxrb start_with
Rx.rb реализует этот оператор как start_with. Он принимает массив элементов, который он добавляет в начало результирующей последовательности Observable в порядке их появления в массиве перед выпуском элементов из исходного Observable.
RxScala +:
RxScala реализует этот оператор с +: Он принимает элемент и Observable в качестве параметров и добавляет элемент в начало элементов, выпускаемых Observable, как собственную последовательность Observable.
© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/startwith.html