我是RxJS的新手,所以我的術語可能不夠簡潔,對不起。我使用map()創建了派生Observable,並希望它繼續通過其自身傳遞源值以及其他附加事件。例如:next()to intermediate Observable
//receiving values from server:
const $source = new Rx.Subject;
//map from network representation to client one:
const $client = $source.map(server => server.x + server.y);
//display on screen:
$client.subscribe(client => console.log("client:", client))
//have input to update client-side representation:
const $button = new Rx.Subject;
$button.subscribe($client);
$button.next({ x : 1, y : 2 });
不幸的是,它打印 「3」,而不是對象彷彿$按鈕直接將事件發送給$源代替$客戶。爲什麼$ button.next(...)發射到$源而不是發射到$ client?我希望在這種情況下運營商(地圖())產生新的流。我怎樣才能實現本地循環仍然依賴於原始流,但不修改原始流?提前致謝。
謝謝你的回答。我只想讓用戶從服務器開始更改值,但是隨時服務器發送任何新值 - 重置用戶看到的內容並繼續從已有的新內容更改。 – Slav
嗯,但這就是你的流目前做的 - 也許你應該看看你的'map'方法,你確定要添加'x'和'y'嗎?也許這是你的問題?請用以下流式圖更新您的問題:什麼數據源會在什麼時候發送哪些數據,以及您希望在數據流的末尾顯示哪些數據。 – olsn
你對** map()**是**擴展**(不管它是什麼)的原始觀察讓我想出解決方案。發佈它作爲答案,謝謝。 – Slav