RxJS 5 fromEvent observable subscribe 调用了两次
RxJS 5 fromEvent observable subscribe called twice
我正在尝试响应触摸和鼠标按下事件的合并观察以切换菜单 open/close。问题是处理切换的代码是 运行 两次。我已经通过将事件记录到控制台来确认这一点,并且记录的是同一事件:
export const toggleMenu = (openButton, closeButton) => {
return Observable.merge(
Observable.fromEvent(openButton, 'mousedown'),
Observable.fromEvent(closeButton, 'mousedown'))
.subscribe((event) => {
console.log(event);
if (elementIsVisible(nav)) {
hideElement(nav);
} else {
showElement(nav);
}
});
};
所以这最终会打开然后立即关闭菜单。
好的,这是我的错误。实际发布的代码很好,但我正在实例化调用此函数两次的 class,因此有两个订阅。
我正在尝试响应触摸和鼠标按下事件的合并观察以切换菜单 open/close。问题是处理切换的代码是 运行 两次。我已经通过将事件记录到控制台来确认这一点,并且记录的是同一事件:
export const toggleMenu = (openButton, closeButton) => {
return Observable.merge(
Observable.fromEvent(openButton, 'mousedown'),
Observable.fromEvent(closeButton, 'mousedown'))
.subscribe((event) => {
console.log(event);
if (elementIsVisible(nav)) {
hideElement(nav);
} else {
showElement(nav);
}
});
};
所以这最终会打开然后立即关闭菜单。
好的,这是我的错误。实际发布的代码很好,但我正在实例化调用此函数两次的 class,因此有两个订阅。