JSFiddle - React, Tailwind, and code Playground
by mattpodwysocki
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/rxjs/2.2.7/rx.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/rxjs/2.2.7/rx.experimental.js"></script>
JavaScript
function getJSON(url) {
return Rx.Observable.create(function (obs) {
setTimeout(function () {
obs.onNext(url);
obs.onCompleted();
}, Math.floor(Math.random() * 1000));
});
}
var story = { chapters: ['one', 'two', 'three'] };
var observable = Rx.Observable.return(story)
.flatMap(function (story) {
return Rx.Observable.for(story.chapters, getJSON);
});
var subscription = observable.subscribe(
function (chapter) {
console.log(chapter);
},
function (err) {
addTextToPage("Argh, broken: " + err.message);
},
function () {
console.log("All done");
});