Skip to content

Instantly share code, notes, and snippets.

@tkareine
Created January 31, 2013 13:21
Show Gist options
  • Save tkareine/4682811 to your computer and use it in GitHub Desktop.
Save tkareine/4682811 to your computer and use it in GitHub Desktop.
var subj0 = new Rx.Subject()
var obs0 = subj0.doAction(function(e) { console.log("obs0 doAction", e) })
var subs0_1 = obs0.subscribe(function(e) { console.log("subs0_1", e) })
subj0.onNext('a')
//> obs0 doAction a
//> subs0_1 a
var subs0_2 = obs0.subscribe(function(e) { console.log("subs0_2", e) })
subj0.onNext('b')
//> obs0 doAction b
//> subs0_1 b
//> obs0 doAction b
//> subs0_2 b
var subj1 = new Rx.Subject()
var obs1 = subj1.doAction(function(e) { console.log("obs1 doAction", e) })
var subs1_1 = obs1.subscribe(function(e) { console.log("subs1_1", e) })
var subs1_2 = obs1.subscribe(function(e) { console.log("subs1_2", e) })
subj1.onNext('a')
//> obs1 doAction a
//> subs1_1 a
//> obs1 doAction a
//> subs1_2 a
var subj2 = new Rx.Subject()
var obs2 = subj2.where(function(e) { console.log("obs2 where predicate", e); return e !== 'a' })
var subs2_1 = obs2.subscribe(function(e) { console.log("subs2_1", e) })
var subs2_2 = obs2.subscribe(function(e) { console.log("subs2_2", e) })
subj2.onNext('b')
//> obs2 where predicate b
//> subs2_1 b
//> obs2 where predicate b
//> subs2_2 b
var subj3 = new Rx.Subject()
var obs3 = subj3.doAction(function(e) { console.log("obs3 doAction", e) }).publish()
obs3.connect()
var subs3_1 = obs3.subscribe(function(e) { console.log("subs3_1", e) })
var subs3_2 = obs3.subscribe(function(e) { console.log("subs3_2", e) })
subj3.onNext('c')
//> obs3 doAction c
//> subs3_1 c
//> subs3_2 c
var subj5 = new Rx.Subject()
var obs5 = subj5.doAction(function(e) { console.log("obs5 doAction", e) }).publish().refCount()
var subs5_1 = obs5.subscribe(function(e) { console.log("subs5_1", e) })
subj5.onNext('e')
//> obs5 doAction e
//> subs5_1 e
var subs5_2 = obs5.subscribe(function(e) { console.log("subs5_2", e) })
subj5.onNext('f')
//> obs5 doAction f
//> subs5_1 f
//> subs5_2 f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment