我正在使用combineLatest可觀察兩個流和選擇器函數。RxJS運行選擇器功能只有一次
const todos = Rx.Observable.of([{
id: 1,
completed: false,
text: 'one'
}, {
id: 1,
completed: true,
text: 'two'
}]);
const filter = Rx.Observable.of('SHOW_ALL');
const getTodos = Rx.Observable.combineLatest(todos, filter, (todos, filter) => {
console.log('calculation');
// doing some calculation...
return todos;
});
getTodos.subscribe(console.log)
getTodos.subscribe(console.log)
<script src="https://unpkg.com/@reactivex/[email protected]/dist/global/Rx.js"></script>
我需要的結果選擇只運行一次同時爲用戶避免重新計算。例如,如果緩存結果並給我最新的值,如果兩個輸入都沒有改變。
有沒有辦法用RxJS來做到這一點?
請看看'share'和'publish'運營商:他們專爲這種情況。 – dzejdzej
我試過共享運算符,它不適合我。 – undefined
@undefined我不工作怎麼樣?你能證明你的嘗試嗎? – martin