我正在学习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
属性。