【问题标题】:Emit the latest value of B, 1 second later after A has emmited a value发出 B 的最新值,在 A 发出值后 1 秒后发出
【发布时间】:2018-02-02 12:20:16
【问题描述】:

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

【问题讨论】:

    标签: rxjs rxjs5


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 2018-09-29
      • 1970-01-01
      相关资源
      最近更新 更多