0
嗨,我開始RxJS,我有下一個問題的解決辦法,但我不喜歡它,希望你能提供更好的解決方案:RxJS如何在可觀察對象之間切換和暫停?
試想一下,我們有2個數據流,我們要切換:
- 請求
- 超時
然後,我們要在它們之間進行切換,但一當其他有一個事件重新開始,這已暫停。例如。我們在成功時做出請求,我們做出超時,完成請求時,完成超時等等。
在我的解決方案,我用模擬的時間間隔要求,我用「可暫停()」,但我不喜歡這個解決方案的可擴展性:
import Rx from 'rx';
const requestPauser = new Rx.Subject();
const requestStream = Rx.Observable.interval(500).pausable(requestPauser);
const intervalPauser = new Rx.Subject();
const intervalStream = Rx.Observable.interval(500).pausable(intervalPauser);
requestStream.subscribe(function(){
requestStream.pause();
intervalStream.resume();
console.log("request");
});
intervalStream.subscribe(function(){
requestStream.resume();
intervalStream.pause();
console.log("interval");
});
requestStream.resume();
如何RxJS專家將解決這個問題?
感謝蘇拉傑,有了這個我有一個延遲,但我怎麼可以然後創建一個循環,兩者都重複? const responseStream = Rx.Observable.fromPromise($ .getJSON('https://api.github.com/users')); ()=> {console.log(1);}); (()=> {console_log(2); }); –
對不起,這是錯誤的,因爲第二次訂閱從開始執行,並且必須在第一次完成後執行。 –
好..我的壞..應該仔細看看.. –