javascript - RxJS - 点击和计时器之间的竞赛

标签 javascript rxjs

我努力创建一个 Observable,它会在我每次点击时发出,或者,如果我不点击,则每秒发出,并且每次我点击时都会重置其计时器。

我几乎通过简单的合并实现了我想要的,但我不知道每次单击时如何重置计时器。

import { fromEvent, merge, timer } from "rxjs";
import { debounceTime, map } from "rxjs/operators";

const click$ = fromEvent(document, "click");

merge(click$, timer(0, 1000))
  .pipe()
  .subscribe(console.

最佳答案

听起来您正在寻找 switchMapstartWith

click$.pipe(
  startWith(null),
  switchMap(() => timer(0, 1000))
).subscribe(console.log);

关于javascript - RxJS - 点击和计时器之间的竞赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58929830/

相关文章:

javascript - 如何调整 'ToolTip' 的位置使其位于我的 <label> 旁边?

javascript - 用不同的图像替换单选按钮

javascript - 字符串 var 实例的问题

java - 从客户端实现的 Angular 来看,我可以将 Java Callable 与 Angular Observable (RxJS) 进行比较吗

javascript - 用JS用类替换多个元素的部分字符串

javascript - Jquery mouseenter 和 mouseleave 无法在 svg 上正确触发

javascript - RxJS如何实现flatMapLatest 二

Angular 4 HttpClientModule 和 map() 函数

Angular 4 : Route Transition Loading

angular - 订阅combineLatest中的所有可观察量