代码之家  ›  专栏  ›  技术社区  ›  Alin Pandichi

为什么一键式事件被映射到3个不同的值和3个订户?

  •  0
  • Alin Pandichi  · 技术社区  · 6 年前

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

    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 回复  |  直到 6 年前