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}`))