SkipUntil

丟棄 Observable 發出的項目,直到第二個 Observable 發出項目為止

SkipUntil 訂閱來源 Observable,但會忽略其發射的項目,直到第二個 Observable 發出項目,此時 SkipUntil 開始鏡像來源 Observable。

另請參閱

特定語言資訊

待定

skipUntil

在 RxGroovy 中,此運算子實作為 skipUntil

skipUntil 預設不操作在任何特定的 排程器 上。

skipUntil

在 RxJava 中,此運算子實作為 skipUntil

skipUntil 預設不操作在任何特定的 排程器 上。

skipUntil

RxJS 實作了 skipUntil 運算子。您可以傳遞一個 Observable 或一個 Promise 給它,它會監控一個項目,該項目會觸發 skipUntil 開始鏡像來源 Observable。

程式碼範例

var source = Rx.Observable.timer(0, 1000)
    .skipUntil(Rx.Observable.timer(5000));

var subscription = source.subscribe(
    function (x) { console.log('Next: ' + x); },
    function (err) { console.log('Error: ' + err); },
    function () { console.log('Completed'); });
Next: 6
Next: 7
Next: 8
Completed

在以下每個發行版本中都可以找到 skipUntil

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

還有一個 skipUntilWithTime 運算子,您可以傳遞一個絕對時間或一個初始持續時間來代替 Observable,但這在 Skip 運算子頁面中說明。

RxPHP 將此運算子實作為 skipUntil

僅在另一個 Observable 序列產生值後,才從來源 Observable 序列傳回值。

程式碼範例

//from https://github.com/ReactiveX/RxPHP/blob/master/demo/skip/skipUntil.php

$observable = Rx\Observable::interval(1000)
    ->skipUntil(\Rx\Observable::timer(5000))
    ->take(3);

$observable->subscribe($stdoutObserver);

   
Next value: 4
Next value: 5
Next value: 6
Complete!