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

这是预期的行为吗?如果可以,为什么?

这是我所做的-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');};
});

最佳答案

那是因为您要在btnAction.onclick方法中多次重写Observable.create属性。

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

10-05 20:51
查看更多