2020-02-19

SwiftのCombineがしっくりこない

eraseToAnyPublisher()で全部AnyPublisherにして使うのが作法みたいだけどそれってどうなの。

それRxで言うasObservable()でしょ?

そしてAnyPublisherだけじゃそれが1発飛んで終わるのか継続的ポンポン飛んでくるのか型からじゃ分からないでしょ。

その点RxはObservableをはじめ、SingleやMaybeやCompletableを普通に取り回してるよね。

あいう感じじゃ駄目だったの?分かりやすいじゃん。

っていうか作法って何よ。いや作法は俺が言ってるだけだけど、ちゃんとした理由なくない?例えばFuture作ったらそのまま返せば良いじゃないですか。どうして駄目なんスか。

Rxに比べたCombineの利点ってエラージェネリクス定義できるってとこだけじゃない?SwiftUIとの連携は別として。

Combineの方が速いらしいけど...そもそもRxSwiftで速度が問題になることなんてないし。

ああもう、こんなこと言ってたらeraseToAnyPublisher()自体にも腹立ってきたわ。なんであんな長ったらしいもんがそこら中に溢れてんねん。

バカみたいでしょう?素直にRxに従っとけばよお。中途半端にパクりやがって。

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

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

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

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