为什么一个单击事件会被3个订阅者映射到3个不同的值?

时间:2018-11-02 15:06:39

标签: javascript rxjs

使用下面的代码,当我单击“刷新”按钮时,我看到三个不同的值被记录到控制台。例如:

map 1541170826468
map 1541170826469 
map 1541170826470

我希望将一次单击事件映射到一个记录了三次的单一值。为什么我看到记录了三个不同的值?

这是代码,也可以在https://codepen.io/ssfjggv-kwidgf/pen/rQBoeX?editors=0010上运行

var refreshButton = document.querySelector(".refresh");
var refreshClickStream = Rx.Observable.fromEvent(refreshButton, "click");

var requestStream = refreshClickStream
  .map(function() {
    return new Date().getTime();
  });

requestStream.subscribe(function(time) {
  console.log('map ' + time)
});

requestStream.subscribe(function(time) {
  console.log('map ' + time)
});

requestStream.subscribe(function(time) {
  console.log('map ' + time)
});

0 个答案:

没有答案