0
私はネストされたAPI要求を持っていて、私はflatMap演算子を使ってPromises(.then)と同じように分割しました。だからこれは素晴らしいですが、私はまた、応答が有効であるかどうかを確認する必要があります私は正しいものを待つだろうので、私はskipWhile演算子を追加しました。rxjs内のネストされたskipWhile
init(): Observable<any> {
return this.loadDataA();
}
loadDataA(): Observable<any> {
return this._serviceA.loadData()
.skipWhile((foo) => foo === undefined)
.flatMap((foo) => this.loadDataB(foo.importantProp));
}
loadDataB(important: string): Observable <any> {
return this._serviceB.loadData(important)
.skipWhile((bar) => bar === undefined)
.map((bar) => true);
}
問題は、応答が定義されていない場合、それは、それはflatMapにならないはずですように機能loadDataAの最初のskipWhileが機能することです。 loadDataBのskipWhile演算子は.mapには入りませんが、loadDataAのflatmapに戻り、loadDataB関数で.mapを実行しないようにします。どうやってネストされたskipWhileビヘイビアを実行できますか?ありがとう!
フィルタ演算子に問題がある、それはフィルタリングだろう、ということ未定義の応答ですが、私はストリーム内の有効なものを受け取りません。 skipWhileでは、有効なものが受信されるまで応答をスキップします。 – derEntwickler
私は、あなたが言ったことを理解しているとは思えません。あなたの事例のストリームダイアグラムを描くことはできますが、フィルタはどのデータを受け取るかに影響を与えません。それは単に特定のデータを省略します。 – olsn