RxJS 6

laco / 2017 Jul 4

laco0416

株式会社 Kaizen Platform

Frontend Engineer

next: 6.0.0-alpha.0

CHANGELOG: 6.0.0-alpha.0 

buffer()

  • もとのObservableがcompleteしたときに最後のbufferをemitするように変更

find()

  • 1件もヒットしなかったときにundefinedではなく
    空のObservableを返すように変更

first() / takeWhile()

  • それぞれ元のObservableがcomplete/errorのときにも
    unsubscribeされるようになった(バグ修正)

その他

  • TypeScript 2.4対応
    • default generic type対応とか
    • never型とか ( Observable.never() )
  • エラー周りは内部的なアレやコレやなのであんまり気にしなくてよさそう
    • RxJS前提の拡張みたいなの作ってた人たちがつらそう
  • lettable operators

結論

  • 大して変わらん
    • bufferの挙動やfind()の挙動はもともとバグで、
      直すと破壊的変更になるから仕方なくメジャーバージョンあがる感じ
  • 一応lettable operatorsは目玉機能?
    • メソッドチェーン形式は好みが分かれる
    • 関数型プログラミングの文化っぽい
    • カスタムオペレータ作るよりObservable返す関数作るだけのほうが楽なので
      コーディングスタイルをlet()ベースに置き換えられるのは素直に嬉しい
  • 6.0.0-alphaからまだ進むので追いたかったらnextブランチを見るといい

おまけ

201707-teppeis-sushi

By Suguru Inatomi

201707-teppeis-sushi

RxJS 6

  • 2,666