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,因此有两个订阅。