【问题标题】:RxJS5 - dummy observablesRxJS5 - 虚拟可观察对象
【发布时间】:2023-03-30 20:21:02
【问题描述】:

有时我们需要一个 dummy observable,因为 RxJS API 在某些情况下似乎不接受 null 或 undefined,例如:

Queue.prototype.eqStream = function ($pauser) {

    if (!$pauser) {
        $pauser = Rx.Observable.timer(1);
    }

    let $obs = Rx.Observable.zip(
        this.obsEnqueue,
        pauser   // because pauser cannot be null here
    );

RxJS5 是​​否有一些可接受的虚拟 Observable 立即触发,或者我们应该只使用其中之一:

Rx.Observable.timer(1);
Rx.Observable.from([0]);

如果 RxJS5 API 给我们一个可接受的 dummy Observable 就好了,比如:

Rx.Observable.dummy()

或类似的东西。有人知道虚拟 Observables 的最佳实践吗?

【问题讨论】:

  • Rx.Observable.of 是您要找的吗?
  • 只是 Rx.Oservable.of() 的参数为空吗?

标签: javascript node.js rxjs5


【解决方案1】:

如果您想要一个立即完成并且什么都不发出的 observable,请使用 empty

let dummy = Rx.Observable.empty();

如果您想要一个发出值然后完成的可观察对象,请使用of

let dummy = Rx.Observable.of('some value');

【讨论】:

  • 对,但我想我想要一个同时触发 onNext() 和 onCompleted() 的 observable
  • 已更新。如果您想在完成之前发出一个值,请使用 of
  • 谢谢,我会像你一样使用 Observable.of,不胜感激!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-09
  • 2011-06-17
  • 2019-01-30
  • 1970-01-01
相关资源
最近更新 更多