[RxJS] Convert RxJS Subjects to Observables】的更多相关文章

The use of RxJS Subjects is common, but not without problems. In this lesson we will see how they can be usually safely replaced with plain Observables. Check the follow code: const click$ = new Rx.Subject(); document.addEventListener('click', functi…
Understanding sources and subscribers makes it much easier to understand what's going on with mergeMap under the hood. Where a typical operator invokes destination.next directly, mergeMap wraps destination.next inside of a new source/subscriber combo…
Like switchMap and mergeMap, concatMap is a shortcut for map() followed by a concatAll(). In this lesson we will explore this RxJS operator and its properties. const clickObservable = Rx.Observable .fromEvent(document, 'click'); function performReque…
Like RxJS switchMap() is a shortcut for map() and switch(), we will see in this lesson how mergeMap() is a shortcut for map() and mergeAll(), and learn its arguments for customised behavior. const clickObservable = Rx.Observable .fromEvent(document,…
Cold: console.clear(); var Observable = Rx.Observable; var clock = Observable.interval(1000).take(10).map((i) => `${i}!`); clock.subscribe((x) => { console.log(` a ${x}`); }); setTimeout(function(){ clock.subscribe((x) => { console.log(` b ${x}`)…
It's just like bindCallback, but the callback is expected to be of type callback(error, result). import * as fs from 'fs'; const readFileAsObservable = bindNodeCallback(fs.readFile); const result = readFileAsObservable('./roadNames.txt', 'utf8'); res…
switchMap is mergeMap that checks for an "inner" subscription. If the "inner" subscription exists, switchMap unsubscribes from that "inner" subscription which effectively "cancels" any pending pushes. import { fromE…
Instead of writing complex operators, it's usually best to write simple, single-purpose operators then chain them together when necessary. The pipefunction takes functions as arguments, invokes each function with the value, then passes the returned r…
We have covered the basics of what is Observable.create, and other creation functions. Now lets finally dive into operators, which are the focus of this course. We will see how operators are simple pure functions attached to the Observable type. var…
Unlike mergeMap and switchMap, concatMap focuses on when "inner" subscriptions "complete" by using a "buffer". Each time concatMap receives a value, it adds each value to a "buffer", waits for previous "inner&q…