2020-02-21

anond:20200219222753

eraseToAnyPublisher()で全部AnyPublisherにして使うのが作法みたいに思えるけどそうでもないのでは?

あれは他のPublisherと合成するときやらに使えるから使っているんじゃないかな。

なぜ元の増田がそう思ったかと言うと、サンプルでeraseToAnyPublisher()してるコードいからだよね。

rayなんとかのCombineの本でもFutureをeraseToAnyPublisher()してる例はある。

でも、あれって実際のアプリ開発というよりも本で説明するためという気もする。

なので実際に我々がアプリ開発する時はFutureはFutureとしてインタフェース使ってWeb APIの結果を受け取るんじゃない?

インタフェースとしてFutureで返すという制約の表現普通に良いと思う。

まあflatMapとかでそのインタフェース呼び出すんで結局それがFutureなのかどうかっていうのは、flatMapを書いている部分、つまり大抵はObservableObject側ではあんまり重要ではないとも言える。

記事への反応 -
  • eraseToAnyPublisher()で全部AnyPublisherにして使うのが作法みたいだけどそれってどうなの。 それRxで言うasObservable()でしょ? そしてAnyPublisherだけじゃそれが1発飛んで終わるのか継続的にポンポ...

    • eraseToAnyPublisher()で全部AnyPublisherにして使うのが作法みたいに思えるけどそうでもないのでは? あれは他のPublisherと合成するときやらに使えるから使っているんじゃないかな。 なぜ元の...

      • 追記: Merge(,)とかしていくと型がどんどんネストしていくからeraseToAnyPublisher()する場面は多いよね

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん