StartWith

在開始發射來源 Observable 的項目之前,先發射指定的項目序列

如果您希望 Observable 在開始正常發射項目之前,先發射特定的項目序列,請對其應用 StartWith 操作符。

(另一方面,如果您想將項目序列附加到 Observable 正常發射的項目的末尾,則需要 Concat 操作符。)

另請參閱

特定語言資訊

cons

RxClojure 將此操作符實作為 cons。它接受一個項目和一個 Observable 作為參數,並將該項目附加到 Observable 發射的項目之前,作為其自身的 Observable 序列。

start_with

RxCpp 將此操作符實作為 start_with。它接受一個 Observable 和一個或多個項目作為參數,並將這些項目按照參數列表中給定的順序附加到 Observable 發射的項目之前,作為其自身的 Observable 序列。

RxGroovy 將此操作符實作為 startWith

startWith

您可以將要附加到 Observable 序列的值以單個 Iterable 的形式或作為一到九個函數參數的序列傳遞給 startWith

程式碼範例

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
startWith

您也可以將一個 Observable 傳遞給 startWith,它會將該 Observable 的發射附加到來源 Observable 的發射之前,以形成它自己的發射集。這是一種反向的 Concat 操作。

RxJava 將此操作符實作為 startWith

startWith

您可以將要附加到 Observable 序列的值以單個 Iterable 的形式或作為一到九個函數參數的序列傳遞給 startWith

startWith

您也可以將一個 Observable 傳遞給 startWith,它會將該 Observable 的發射附加到來源 Observable 的發射之前,以形成它自己的發射集。這是一種反向的 Concat 操作。

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

startWith

您可以將要附加到 Observable 序列的值以單個 Iterable 的形式或作為一到九個函數參數的序列傳遞給 startWith

startWith

您也可以將一個 Observable 傳遞給 startWith,它會將該 Observable 的發射附加到來源 Observable 的發射之前,以形成它自己的發射集。這是一種反向的 Concat 操作。

StartWith

Rx.NET 將此操作符實作為 StartWith。它接受一個項目陣列,它會按照陣列中出現的順序將其附加到結果的 Observable 序列之前,然後再發射來源 Observable 的項目。

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!
    
start_with

RxPY 將此操作符實作為 start_with。它接受一個項目陣列,它會按照陣列中出現的順序將其附加到結果的 Observable 序列之前,然後再發射來源 Observable 的項目。

start_with

Rx.rb 將此操作符實作為 start_with。它接受一個項目陣列,它會按照陣列中出現的順序將其附加到結果的 Observable 序列之前,然後再發射來源 Observable 的項目。

plus colon

RxScala 使用 +: 實現此操作符。它接受一個項目和一個 Observable 作為參數,並將該項目附加到 Observable 發射的項目之前,作為其自身的 Observable 序列。