18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-12-16

新しく追加される予定の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いらないから実装がシンプルになるよね!! 最高!! みたいなこと言ってた気がします。

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

18
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?