我是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