Spec-Zone.ru › ReactiveX

StartWith

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

Если вы хотите, чтобы Observable выпускал определенную последовательность элементов перед началом обычного выпуска элементов, ожидаемых от него, примените оператор StartWith к нему.

(Если, с другой стороны, вы хотите добавить последовательность элементов в конец тех, которые обычно выпускаются Observable, вам нужен оператор Concat.)

См. также

  • Concat
  • Введение в Rx: StartWith
  • RxMarbles: startWith

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

RxClojure cons

cons

RxClojure реализует этот оператор как cons. Он принимает элемент и Observable в качестве параметров и добавляет элемент в начало элементов, выпускаемых Observable, как собственную последовательность Observable.

RxCpp start_with

start_with

RxCpp реализует этот оператор как start_with. Он принимает Observable и один или несколько элементов в качестве параметров и добавляет эти элементы в порядке их указания в списке параметров в начало элементов, выпускаемых Observable, как собственную последовательность Observable.

RxGroovy startWith

RxGroovy реализует этот оператор как startWith.

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

Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.

  • Javadoc: startWith(Observable)

RxJava 1․x startWith

RxJava реализует этот оператор как startWith.

startWith

Вы можете передать значения, которые вы хотите добавить в начало последовательности Observable, в startWith либо в одном Iterable, либо как серию от одного до девяти параметров функции.

  • Javadoc: startWith(Iterable)
  • Javadoc: startWith(T) (также существуют версии, принимающие до девяти отдельных элементов)
startWith

Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.

  • Javadoc: startWith(Observable)

RxJS startWith

startWith

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

startWith можно найти в следующих дистрибутивах:

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

RxKotlin startWith

RxKotlin реализует этот оператор как startWith.

startWith

Вы можете передать значения, которые вы хотите добавить в начало последовательности Observable, в startWith либо в одном Iterable, либо как серию от одного до девяти параметров функции.

startWith

Вы также можете передать startWith Observable, и он добавит выпускаемые этим Observable в начало исходного Observable, чтобы создать свой собственный набор выпусков. Это своего рода обратное операция Concat.

RxNet StartWith

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

start_with

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

Rxrb start_with

start_with

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

RxScala +:

plus colon

RxScala реализует этот оператор с +: Он принимает элемент и Observable в качестве параметров и добавляет элемент в начало элементов, выпускаемых Observable, как собственную последовательность Observable.

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

Spec-Zone.ru

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