Reactive Programming with JavaScript
by Kim Maida
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.0.3/Rx.js"></script>
<input id="confirmation-code" type="text">
<p>
<strong>Valid code attempt:</strong>
<code id="attempted-code"></code>
</p>
JavaScript
const confCodeInput = document.getElementById('confirmation-code');
const attemptedCode = document.getElementById('attempted-code');
const confCodes$ =
Rx.Observable
.fromEvent(confCodeInput, 'input')
.map(e => e.target.value)
.filter(code => code.length === 6);
const subscription = confCodes$.subscribe(
(value) => attemptedCode.innerText = value,
(event) => { console.warn(`Error: ${event}`); },
() => { console.info('Completed!'); }
);