Skip to content

Instantly share code, notes, and snippets.

@nettofarah
Created March 26, 2017 06:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nettofarah/0d707706d3fac7759ad09ccfcd820c95 to your computer and use it in GitHub Desktop.
Save nettofarah/0d707706d3fac7759ad09ccfcd820c95 to your computer and use it in GitHub Desktop.
/* @flow */
const Rx = require('rxjs/Rx');
const axios: axios = require('axios');
const requestStream: rxjs$Observable<string> = Rx.Observable.of(
'https://api.github.com/users'
);
const responseMetaStream: rxjs$Observable<any> = requestStream.map(
(requestUrl: string): rxjs$Observable<any> =>
Rx.Observable.fromPromise(axios.get(requestUrl))
);
responseMetaStream.subscribe((metaStream: rxjs$Observable<any>) => {
metaStream.subscribe(response => {
console.log('response', response);
});
});
const responseStream: rxjs$Observable<any> = requestStream.flatMap(
(requestUrl: string): rxjs$Observable<any> =>
Rx.Observable.fromPromise(axios.get(requestUrl))
);
responseStream.subscribe((response: any) => {
console.log('response', response);
});
// const promiseStream: rxjs$Observable<Object> = Rx.Observable.fromPromise(
// fetch('https://api.github.com/users').then(res => res.json())
// );
// const responseStream: rxjs$Observable<Object> = Rx.Observable.create(
// observer => {
// axios
// .get('https://api.github.com/users')
// .then(json => {
// observer.next(json);
// observer.complete();
// })
// .catch(err => {
// observer.error(err);
// observer.complete();
// });
// }
// );
// requestStream.subscribe((requestUrl: string): void => {
// responseStream.subscribe(response => {
// console.log('response', response);
// });
// });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment