ENTER
Javascript と Kefir を使用して、ヒットするまですべてのキー入力をキャプチャしたいと思います。これまでのところ、私はbufferWhile
likeを使用してこれを行うことができました
var inputValues = Kefir
.fromEvents(document.querySelector('body'), 'keydown')
.bufferWhile(event => event.keyCode!=13);
var result = inputValues.toProperty(() => "");
result
.onValue(x => elm.innerHTML = x.slice(0,-1).map(y => String.fromCharCode(y.keyCode)).join(''))
.onError(() => elm.innerHTML = "?");
scan
しかし、最初は通常のように使用したかった
var inputValues = Kefir
.fromEvents(document.querySelector('body'), 'keydown')
.scan((acc, y) => acc.concat(y), "");
しかし、どうすればいいですか:
ENTER
ヒット時にアキュムレータを出力しますか?- アキュムレータを再起動して、新しいキーストローク シーケンスを開始しますか?
基本的に、単一のストリームbufferWhile
を使用してどのように構成しますか? scan
答えは特に Kefir に関するものである必要はありませんが、FRP 疑似コードであれば何でもかまいません。