Skip to content

Instantly share code, notes, and snippets.

View huang47's full-sized avatar

ShihChi Huang huang47

  • Cupertino, California
View GitHub Profile
@huang47
huang47 / -
Created November 23, 2014 03:44
var Rx = require('rx');
var s = new Rx.Subject();
var r = s.asObservable().replay();
r.connect();
s.onNext(1);
s.onNext(2);
@huang47
huang47 / -
Created December 20, 2014 20:07
var Rx = require('rx');
var e1 = new Rx.Subject();
var e2 = new Rx.Subject();
var e3 = new Rx.Subject();
var e1s = e1.asObservable();
var e2s = e2.asObservable();
var e3s = e3.asObservable();
@huang47
huang47 / -
Created December 20, 2014 20:11
var Rx = require('rx');
var e1 = new Rx.Subject();
var e2 = new Rx.Subject();
var e3 = new Rx.Subject();
var e1s = e1.asObservable();
var e2s = e2.asObservable();
var e3s = e3.asObservable();
var Rx = require('rx');
var e1 = new Rx.Subject();
var e2 = new Rx.Subject();
var e3 = new Rx.Subject();
var e1s = e1.asObservable();
var e2s = e2.asObservable();
var e3s = e3.asObservable();
profileSwitchSuccesses.
startWith(true).
flatMapLatest(function () {
return cacheExpiryInHomeOnForegrounds.
flatMapLatest(function() {
return EventManager.observe(EventManager.APP.EVENT_LOGIN_CHECK_DONE).
take(1).
filter(isLoggedIn);
});
}).
var Rx = require('rx');
var profileSwitchSuccess = new Rx.Subject();
var cacheExpiryInHomeOnForeground = new Rx.Subject();
var loginCheckDone = new Rx.Subject();
profileSwitchSuccess.asObservable().
do(function () {
console.log('profile switch success');
}).
var Rx = require('rx');
var profileSwitchSuccess = new Rx.Subject();
var cacheExpiryInHomeOnForeground = new Rx.Subject();
var loginCheckDone = new Rx.Subject();
profileSwitchSuccess.asObservable().
map(function () {
return true;
}).
@huang47
huang47 / -
Created December 23, 2014 01:16
var Rx = require('rx');
var subjects = {};
function create(sn) {
var s = new Rx.Subject();
subjects[sn] = s;
var Rx = require('rx');
var throwErrors = Rx.Observable.throw(new Error('tiny url exploded'));
throwErrors.
do(
function () {},
function () {
console.log('handle error');
}
var Rx = require('rx');
var s1 = new Rx.Subject();
var s2 = new Rx.Subject();
var s3 = new Rx.Subject();
Rx.Observable.merge(s1, s2, s3).
forEach(
console.log.bind(console, 'next'),
console.log.bind(console, 'error'),