defer
RxJS 5 defer
by Huy Le
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.0.1/Rx.min.js"></script>
<input id="input" >
JavaScript
let reply = '';
const input = document.getElementById("input");
const inputObs = Rx.Observable.fromEvent(input, 'keyup')
.map(i => reply = i.currentTarget.value)
.debounceTime(750)
.switchMap(_ => defer);
const defer = Rx.Observable.defer(() => {
console.log(`Me: ${b}`);
if (reply === "hi") {
return Rx.Observable.of('hello');
} else {
return Rx.Observable.of('hi');
}
})
inputObs.subscribe(response => console.log(`Computer: ${response}`));