2017-06-09 17 views
0

私は残りのAPIへのhttpコールを行うサービスを持っています。私のコンポーネントでは、私はそれを購読しています。サービスに新規に電話をかけることなく、購読者のデータを更新するにはどうすればよいですか?サブスクリプションデータを更新するにはどうすればよいですか?

+1

更新したい値はありますか?一般的にサブスクリプション内では、サブスクライブデータをローカルコンポーネント変数に割り当てます。ローカル値を直接更新することができます。いくつかのコードを投稿しますか? – CharanRoot

答えて

1

質問は明確ではありませんが、私はうまくいけば答えを提供することができます。

のは、あなたがそれに OrganizationIdプロパティを持つ Userオブジェクトの観察可能なを持っている、とあなたはその OrganizationIdに関連付けられている Organizationオブジェクトの観測可能にしたいと仮定しましょう。ユーザーの更新時に更新しますか?

これは、flatMap演算子を使用したい場合です。我々のorganizationServiceOrganizationIdを取り、http.post()メソッドから観測値を返すbyId$メソッドを持っているとします。

organization$ = user$ 
    .flatMap(user => organizationService.byId$(user.OrganizationId)); 

あなたはそれが一つの値を取ることにmapと同様flatMapと考えることができ、そしてあなたがそれに渡すコールバックに基づいて別のものにそれを回します。違いは、このように通常のmapを使用した場合、観察可能なものが観測可能になることになります。 flatMapは、返されたオブザーバブルをアンラップして、目的のオブジェクトを観察できるようにします。

関連する問題