Observable

node v5.12.0
version: 1.0.0
endpointsharetweet
'use strict'; const randomPuppy = require('random-puppy'); const captionBot = require('captionbot'); const whatDog = require('what-dog'); const Observable = require('rx-lite').Observable; function observableExample() { const puppyEmitter = randomPuppy.all('puppies'); const awwEmitter = randomPuppy.all('aww'); const catEmitter = randomPuppy.all('cats'); const puppySource = Observable.fromEvent(puppyEmitter, 'data'); const awwSource = Observable.fromEvent(awwEmitter, 'data'); const catsSource = Observable.fromEvent(catEmitter, 'data'); const sharedSource = Observable .merge(puppySource, awwSource, catsSource) .filter(url => url.includes('.jpg')) .take(10) .flatMap(url => { return Promise.all([captionBot(url), whatDog(url)]).then(results => { return { url: url, caption: results[0], breed: results[1].breed, about: results[1].about }; }); } ); return sharedSource; } observableExample().subscribe(data => { console.log(data); }, err => console.log(err), () => console.log('done!')); //module.exports = observableExample;
Loading…

no comments

    sign in to comment