タグ

rxjsに関するTomato-360のブックマーク (2)

  • Rx(JS)に入門する前に知っておきたいN個のこと|デロイト トーマツ ウェブサービス株式会社(DWS)公式ブログ

    ※この説明では関数型プログラミングの部分について触れていませんが、Rxへの入門の準備という目的をややこしくしてしまうと思ったので省いています。 (私はObservable Streamを外部状態に依存しない書き方で使うことで安定して綺麗なコードを書ける、みたいな理解の仕方をしています) 実装例 長々と個人的な解釈を書き連ねてきたので、この辺で実際のコードに落とし込んでみたいと思います。 ここではマークダウンエディタを実装している想定で、ユーザーのキーボード入力イベントから、`(逆クォート記号)で囲まれた文字列を spanタグで囲んだhtml文字列に変換するような処理を実装します。 ただし、変換したhtml文字列をその度に描画していると描画コストが掛かり過ぎてしまうという想定で、 500ms毎に最新のhtml文字列を検出したいという仕様があるとしました。 準備 まず、ユーザーのキーボード入力

  • RxJSでMVVMやってる - @hadashiA

    Rxは、すごくUIを書くのに向いているのではないだろうか。アプリケーションの状態を山盛りの変数で管理することから解放され、状態から状態へ変換する関数を書けばよくなるから。 非同期処理を同期っぽく書きたいならawait でいいじゃん。UIイベントを宣言的に書きたければ 2-wayバインディングがあれば良いじゃん。という話では終わらず、その辺の問題解決に加えて、値の発生器を全て同じ宣言にまとめられ、状態変数がなくなるところが書いていて楽しいところです。 // たとえば、、 Observable.fromEvent(searchBox, 'input') // 検索窓に字が打ちこまれたら .debounce(500) // 0.5秒ごとに .map(e => e.target.value) // 入力されたテキストを .filter(q => q.length > 0) // 1文字以上の場合だ

    RxJSでMVVMやってる - @hadashiA
  • 1