RxJS 5 fromEvent observable subscribe被调用两次

时间:2016-11-03 09:19:54

标签: javascript rxjs rxjs5

我试图回复合并的可观察触摸和mousedown事件来切换菜单打开/关闭。问题是处理切换的代码运行了两次。我已通过将事件记录到控制台来确认这一点,并且它记录了相同的事件:

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);
        }
      });
};

所以这最终打开然后立即关闭菜单。

1 个答案:

答案 0 :(得分:0)

好的,这是我的错误。实际发布的代码很好,但我实例化了两次调用此函数的类,因此有两个订阅。