有人可以帮我吗?我不明白为什么此代码控制台记录为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)
);
答案 0 :(得分:1)
在单击按钮时,将按钮事件切换为可通过switchMap
观察的计时器。结果,您在订阅中获得计时器事件。在您的示例中,计时器事件将是数字0,因为它是计时器的工作方式。
看看timer
声明,它发出从0开始的数字,但是在您的情况下,timer
只会发出一个数字并停止,您可以使用timer的第二个参数来控制它。 / p>