Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么此控制台记录为0?_Javascript_Rxjs_Observable - Fatal编程技术网

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

Javascript 为什么此控制台记录为0?,javascript,rxjs,observable,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(dat

有人能帮我吗?我无法理解为什么此代码控制台记录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)
    );

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

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

Pen此处: