に、私は次のコードを持っている:2角度 - ラン2のサブスクリプション同時に
//Subscription 3: role ID to role Name
af.database.object('/roles/'+businessRole.$value)
.subscribe((roleData) => {
//Subscription 4: Get user info
af.database.object('/users/'+businessRole.$key).subscribe(user => {
サブスクリプション内のサブスクリプションが含まれています。
ここでの問題は、アプリケーションが2番目のアプリケーションを実行する前に最初のアプリケーションを待っていることです。私は一度に両方を実行し、それぞれの結果を得たいと思います。私はそれをどのようにすることができますか?私はrxjs
Promise.All()
を使用して、各観察可能な結果を取得する方法を見つけることができなかったことを行うことができます方法を知っているのが大好きだ
- : 私は前
Promise.All()
を使用してきたが、
私はObservable.forkJoinはあなたがあなたの状況で使用する必要が正確に何であると考えているおかげ
どのように観測データの出力を得るのですか? 'val'は各観測可能な出力を持つ配列ですか? – TheUnreal
@TheUnreal 'merge()'演算子は引数として取得したすべてのObservableから値を出します。したがって、応答ごとに '.subscribe()'のコールバックが呼び出されます。 – martin
それぞれの出力を取得して使用する必要があり、この 'merge'メソッドを使用して、どの出力がどの出力を返すのかを判断できないので、問題です。間違っていますか?例えば、最初の観測データを 'user'変数に、2番目の観測データを' role'変数に格納する必要があります。 – TheUnreal