12

RxJS を作成するとBehaviorSubject、'd'になるBehaviorSubjectまでそのままです。'd バージョンが返されるとpipeすぐに、 .pipeAnonymousSubject

例:

// Instance of `BehaviorSubject`
const behaviorSubject$ = new BehaviorSubject({ someValue: null })

// Suddenly becomes an Anonymous Subject
const anonymousSubject$ = (
    behaviorSubject$
    .pipe(
        pluck('someValue')
    )
)

// Also suddenly becomes an Anonymous Subject
const anonymousSubject$ = (
    new BehaviorSubject({ someValue: null })
    .pipe(
        pluck('someValue')
    )
)

私もこの同じ問題を経験しReplaySubjectています。件名をパイプして、その件名を返すことができないようです。常に に変換されますAnonymousSubject。ここで探しているのは、どこからでもこのオブザーバブルをサブスクライブして、渡された 1 つの値を取得できる Promise のような動作だと思います。

4

1 に答える 1

8

これは、 がlift呼び出されたために発生していSubjectます。

あなたの例を詳しく見てみましょう。

  1. BehaviorSubject拡張 する をインスタンス化していますSubject
  2. 内部的に operator を呼び出すpluckoperator を呼び出し ていますmap
  3. map演算子は内部的に which を呼び出しliftBehaviorSubjectwhich にデリゲートさSubjectれ、次に を返しますAnonymousSubject
于 2020-01-10T09:09:45.767 に答える