【发布时间】:2014-08-19 11:15:00
【问题描述】:
以下是我使用的 HTML sn-p 示例:
<html>
<head>
<script src="rx.all.js"></script>
</head>
<body>
<script>
var source = new Rx.BehaviorSubject(function() {return 2;});
var stuff = source.scan([], function(val, operation) {
return operation(val);
});
stuff.subscribe(function(v) {
console.log("first subscriber");
console.log(v);
});
source.onNext(function(val) {
return val * 2;
});
stuff.subscribe(function(v) {
console.log("second subscriber");
console.log(v);
});
</script>
</body>
JS控制台的输出是:
first subscriber
2
first subscriber
4
second subscriber
0
现在,“stuff”做了一些处理(基本上是对当前值应用一个函数),这是我从 ReactJs + RxJS (https://github.com/fdecampredon/react-rxjs-todomvc) 的 TodoMVC 示例中获得的想法。
我想要实现的输出是让第二个订阅者在订阅的那一刻也看到“4”。我将 RxJS 与 ReactJS 结合使用,因此组件在卸载时取消订阅(由于路由更改),并在再次安装时再次订阅。
【问题讨论】:
标签: javascript reactive-programming rxjs