/* From egghead.io lesson on using forkJoin Gets array of ids from hnUrl and uses forkJoin to flatten the results from subsequest ajax requests into an array of result objects. */ 'use strict'; var _Rx = Rx; var Observable = _Rx.Observable; var hnUrl = 'https://hacker-news.firebaseio.com/v0/topstories.json'; var itemUrl = function itemUrl(id) { return 'https://hacker-news.firebaseio.com/v0/item/' + id + '.json'; }; Observable.ajax(hnUrl).map(function (data) { return data.response.slice(0, 3); }).switchMap(function (ids) { return Observable.forkJoin(ids.map(function (id) { var url = itemUrl(id); return Observable.ajax(url).map(function (e) { return e.response; }); })); }).subscribe(function (result) { return console.log(result); });