JSFiddle - React, Tailwind, and code Playground
by Andre Staltz
HTML
<pre id="output"></pre>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/rxjs/2.3.9/rx.all.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/rxjs-jquery/1.1.6/rx.jquery.js"></script>
JavaScript
function out() {
var args = Array.prototype.slice.call(arguments, 0);
document.getElementById('output').innerHTML += args.join(" ") + "\n";
}
function bar(param){
return function(i){
return Rx.Observable.timer(param)
.map(function(){return i;});
};
}
(function() {
var param = [100, 200, 300, 400, 500, 600, 700, 800, 900];
var observableFoo = Rx.Observable.timer(300)
.map(function(){return "x";});
var i = 0;
observableFoo.expand(function (x) {
return Rx.Observable.just(x).flatMap(bar(param[i++]));
})
.take(9)
.subscribe(function (x) {
out("next", x);
}, function (x) {
out("err", x);
}, function () {
out("completed");
});
})();