2015-12-17 69 views
2

有Observable.toBlocking()運算符來同步檢索observable的數據。我找不到RxJS的類似操作符。 我想利用這個操作符來提高我的Rx和不使用其他功能的編程庫代碼...RxJava中的RxJS - toBlocking運算符

回答

1

看到schedulers

如果不提供調度,RxJS會選擇一個默認的調度程序使用最少併發的原則。這意味着選擇引入滿足操作員需求的最少併發量的調度器。

只要你不指定調度RxJS自己挑選阻塞調度/解析可觀察到的同步(immediate scheduler),你可以在這個jsbin看到 - 第一觀察到的完成了第二啓動之前。

如果要明確控制併發級別,可以通過將特定調度程序傳遞給支持此選項的運算符來完成此操作。

+0

但我仍然不得不使用.subscribe而不是RxJava的結果...... :( –

+0

Gotcha。我不知道RxJS有這樣的操作符,但忽略了這樣做的優點,這很容易足夠實現 - 只要你處理純同步/立即調度的observables(見[jsbin](http://jsbin.com/fuvakajoba/edit?js,console))。對於異步可觀察,這將是一個糟糕的這樣做的想法[反正](http://stackoverflow.com/questions/23231909/collect-rxjs-observable-to-array) –

+0

我會建議不要這樣做,但(如果這將打破非明顯,如果引入asychronity ) –

相關問題