問題 Reactive Extensions で非同期処理を簡潔に記述するでは「キー入力に応じて補完候補を表示する」「ただし補完候補はAjaxで非同期に取得する」という いまどきのWebアプリケーションにならあって当然の機能が、Reactive Extensions (Rx)を使うことであたかも普通のリスト処理のように記述できることを示しました。 入力補完は例としては単純で分かり易いものの、 もう少し別の例も欲しいところです。 という訳で、 Rx を使うことでコナミコマンドを実装してみましょう。 回答1: Rx を使わない場合 var lastKeyCodes = []; var validKeyCodes = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; $(window).keydown(function (e) { lastKeyCodes.pu