mergeScan

mergeScan(accumulator, seed, concurrent);
import { fromEvent, of } from "rxjs";
import { mapTo, mergeScan } from "rxjs/operators";

fromEvent(document, "click")
  .pipe(
    mapTo(1),
    mergeScan((prev, cur) => of(prev + cur), 0) //处理的是 Observable
  )
  .subscribe(console.log);

对比一下scan的版本

import { fromEvent } from "rxjs";
import { mapTo, scan } from "rxjs/operators";

fromEvent(document, "click")
  .pipe(
    mapTo(1),
    scan((prev, cur) => prev + cur, 0) //处理的是数据
  )
  .subscribe(console.log);