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