RxJS Behavior/Replay Example

node v4.9.1
version: 1.0.0
endpointsharetweet
The first example, you see a BehaviorSubject being used. BehaviorSubjects are useful in that you will always get a result on subscription. In order to mimic this in a ReplaySubject, you'd need to explicitly call onNext at least once, and set the buffer size to one.
var rx = require('rx'); var behaviorSubject = new rx.BehaviorSubject(null); behaviorSubject.subscribe(function(results) { console.log('results: ' + JSON.stringify(results)); });
var rx = require('rx'); var replaySubject = new rx.ReplaySubject(1); replaySubject.onNext(null); replaySubject.subscribe(function(results) { console.log('results: ' + JSON.stringify(results)); });
The second set of examples shows what happens if you don't manually set the buffer size of a window in a ReplaySubject, versus the default behavior of the behavior of a BehaviorSubject.
var rx = require('rx'); var behaviorSubject = new rx.BehaviorSubject(null); behaviorSubject.onNext(1); behaviorSubject.onNext(2); behaviorSubject.subscribe(function(results) { console.log('results: ' + JSON.stringify(results)); });
var rx = require('rx'); var replaySubject = new rx.ReplaySubject(); replaySubject.onNext(null); replaySubject.onNext(1); replaySubject.onNext(2); replaySubject.subscribe(function(results) { console.log('results: ' + JSON.stringify(results)); });
Loading…

no comments

    sign in to comment