pluck

RxJS 5 pluck

by Echyzen

HTML

<script src="https://npmcdn.com/@reactivex/rxjs@5.0.0-beta.8/dist/global/Rx.umd.js"></script>

JavaScript

const wikiSearch = (search) => fetch(`https://en.wikipedia.org/w/api.php?
        	action=query&format=json&list=search&utf8=1&srsearch=${search}`)    


        const searchRequest$ = Rx.Observable.fromPromise(
                wikiSearch('lol').then(response => response.json())
            )
            // .retry(3) utterly useless HERE
             .flatMap(function(res) { return res.query.search })
            /* .do(res => console.warn('RES', res)) */
						.map((data) => data.title)
            
            // Two Observer subscription only ONE Ajax Request!
            searchRequest$.subscribe((res) => console.log(`[Observer 1]: ${res}`))
            searchRequest$.subscribe((res) => console.log(`[Observer 2]: ${res}`))