onclick不会触发所有观察者的next()

时间:2017-12-29 09:10:26

标签: javascript rxjs observable

我正在学习RxJ并试图通过使用fromEvent方法创建一个observable来模拟Rx.Observable.create。我有两个观察员,一切正常。但是当我使用onclick代替addEventListener时,只会触发第二个观察者的下一个方法。

这是预期的行为吗?如果是这样的话?

这就是我所做的 - https://jsfiddle.net/54fwwwwj/

let observable = Rx.Observable.create(function(obs){
    btnAction.addEventListener('click', (event)=>{obs.next('A value');});
  //btnAction.onclick = (event)=>{obs.next('A value');};
});

1 个答案:

答案 0 :(得分:2)

那是因为您在btnAction.onclick方法中多次覆盖Observable.create属性。

所以你只看到第二个观察者,因为它在第一个观察者设置了自己的处理程序后覆盖了onclick属性。