在 A 发出一个值后 1 秒后发出 B 的最新值

Emit the latest value of B, 1 second later after A has emmited a value

假设有 2 个可观察对象,可观察对象 A 和可观察对象 B。 当 A 发出一个值时,我想等待 1 秒,然后发出 B 的最新值。如果 A 在等待 1 秒时发出另一个值,我希望它忘记之前的值并再等 1 秒(就像 switchMap 那样). 我怎样才能实现这种行为?

看起来您可以使用 withLatestFrom 运算符轻松完成此操作,如下所示:

const a$ = ...;
const b$ = ...;

a$
  .switchMap(v => Observable.of(v).delay(1000))
  .withLatestFrom($b.startWith(null), (a, b) => b)
  .subscribe(...);