-
Posted by ken-y2017 on 2022-01-20T15:23:41.225Z 以下の2点についてお聞きしたいです。 コンポーネントのngOnDestroyなどで、
Angular /RxJs`Subscription`の購読をいつ解除する必要がありますか…… こちらを見ると、API通信が書かれているServiceのSubscriptionはunsubscribeしなくてもいいのでしょうか? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
Posted by nishitaku on 2022-01-21T02:11:28.765Z 私は
は存在しないと思っています。 呼び出し側でunsubscribeの要否を判断しなければならない設計は避けた方がよいと思います。 別記事で言及されている、APIコールの場合のように一度しか値が流れてこないケースは、ObservableではなくPromiseを返すように実装すれば、よいと思います。 Subscriptionの配列を持たせるのが嫌な場合は、こちらのようにtakeUntilで書くのはどうでしょうか?私はいつもこれで書いてます。 |
Beta Was this translation helpful? Give feedback.
-
Posted by lacolaco on 2022-01-22T05:59:30.016Z こちら手前味噌ですが参考になると思います。自動的にcompleteされることがわかっているものは明示的にunsubscribeする必要はありませんが、して困ることもありません
第2章 Effective RxJS - Observableのライフサイクル |
Beta Was this translation helpful? Give feedback.
-
Posted by ken-y2017 on 2022-02-13T06:01:54.122Z ご回答ありがとうございます!理解できました。 |
Beta Was this translation helpful? Give feedback.
-
Posted by ken-y2017 on 2022-02-13T06:02:59.582Z ご回答ありがとうございます!勉強になりました。 |
Beta Was this translation helpful? Give feedback.
Posted by nishitaku on 2022-01-21T02:11:28.765Z
私は
は存在しないと思っています。
呼び出し側でunsubscribeの要否を判断しなければならない設計は避けた方がよいと思います。
別記事で言及されている、APIコールの場合のように一度しか値が流れてこないケースは、ObservableではなくPromiseを返すように実装すれば、よいと思います。
Subscriptionの配列を持たせるのが嫌な場合は、こちらのようにtakeUntilで書くのはどうでしょうか?私はいつもこれで書いてます。
https://lacolaco.hatenablog.com/entry/2018/04/10/230413