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.of('lol')
.switchMap((searchTerm) => {
return Rx.Observable.fromPromise(
wikiSearch(searchTerm).then(response => response.json())
)
.flatMap(function(res) { return res.query.search })
/* .do(res => console.warn('RES', res)) */
.map((data) => data.title)
})
// Here two distinct Ajax Request
searchRequest$.subscribe((res) => console.log(`[Observer 1]: ${res}`))
searchRequest$.subscribe((res) => console.log(`[Observer 2]: ${res}`))