为什么此控制台记录为0?

时间:2019-07-20 09:29:46

标签: javascript rxjs observable

有人可以帮我吗?我不明白为什么此代码控制台记录为0。谢谢

const button = document.querySelector('button');

const observable = Rx.Observable.fromEvent(button, 'click');
observable
  .switchMap(event => Rx.Observable.timer(1000))
  .subscribe(
      (data) => console.log(data)
    );

1 个答案:

答案 0 :(得分:1)

在单击按钮时,将按钮事件切换为可通过switchMap观察的计时器。结果,您在订阅中获得计时器事件。在您的示例中,计时器事件将是数字0,因为它是计时器的工作方式。

看看timer声明,它发出从0开始的数字,但是在您的情况下,timer只会发出一个数字并停止,您可以使用timer的第二个参数来控制它。 / p>