返回主题的startWith()

san*_*han 1 observable rxjs

我想使用默认值的Subject发出值。

startWith("def") 是这样做的方法。

subject = new Rx.Subject().startWith("def value"); 
Run Code Online (Sandbox Code Playgroud)

不幸的是startWIth返回Observable,因此我不能使用onNext(),这是我首先使用Subject的唯一原因。解决此问题的方法是什么?

subject.onNext("next val"); //cannot call onNext, it is not a function of Observable
Run Code Online (Sandbox Code Playgroud)

Pac*_*ace 5

只需跟踪可观察对象和主题即可。我通常会做...

export class FooService {

  private _foos: Subject<Foo> = new subject<Foo>();

  public get foos: Observable<Foo> {
    return this._foos.startsWith(...);
  }

  public emitFoo(foo: Foo) {
    this._foos.next(foo);
  }

}
Run Code Online (Sandbox Code Playgroud)