RxJavaDay 16

新しく追加されたCompletableについて

More than 3 years have passed since last update.

新しく追加される予定のrx.Completableの紹介記事です。


TL;DR


  • 1.1.1で入る予定。(最新は1.1.0)


  • @Experimentalな機能なので、method名や仕様が変わる可能性がある。

  • Coldなやつで、Single<Void>に近いがonNextはない。

  • POST処理とかの際にObservable/Singleの代わりに使うと便利かも。


PullRequest

(2.xの方は実装に難有りでまだmergeされてないです。)

詳細はPRを見て下さい。 議論の内容をざっくりまとめると、


  • "なにかの処理"の成功/失敗だけを伝えたい時はあるじゃん。(別に値を渡したくはない)


  • Single<Void>だとonNext(null)みたいなnull渡しがあるのがイヤ。

  • 2.x系はReactive-Streamsの仕様に準拠するのでnull渡しを禁止したい。

みたいな事がトピックでした。


使いみちあるの?

僕はいまいちピンとこなかったんですが、twitterで呟いたら「POSTした時とか、あると便利かもね」という話になりました。使い道ないけどレスポンス渡したり、null渡しすることは今までもあったので、そういう時にCompletableは便利かもしれないですね。(Completable追ってたら2.x系気になったので空いてる日にまた書きたいな。。)

https://twitter.com/__gfx__/status/674089343116435456

http://twitter.com/sys1yagi/status/676658911932362752


関連記事

実装した本人が熱い思いをブログに書いています。内部実装の話がほとんどで、backpressureいらないから実装がシンプルになるよね!! 最高!! みたいなこと言ってた気がします。

リリースされたら使ってみたいですね。