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 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'),
@huang47
huang47 / rx
Last active August 29, 2015 14:21
suppress pause when end comes back to back
var Rx = require('rx');
var pauses = new Rx.Subject();
var ends = new Rx.Subject();
pauses.
flatMap(function () {
return Rx.Observable.amb(
Rx.Observable.timer(1000).
map(function () { return true }),
ends.map(function () { return false })
@huang47
huang47 / test.js
Created October 21, 2015 03:27
rx tooltip
var Rx = require('rx');
var Observable = Rx.Observable;
var Subject = Rx.Subject;
var hover = new Subject();
var blur = new Subject();
var hovers = hover.asObservable();
var blurs = blur.asObservable();
var HOVER_TIMER = 300;