1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-redux-observable/lib/api.js

13 lines
517 B
JavaScript
Raw Normal View History

/**
* Ajax actions that return Observables.
* They are going to be used by Epics and in getInitialProps to fetch initial data.
*/
import { ajax, Observable } from './rxjs-library'
import { fetchCharacterSuccess, fetchCharacterFailure } from './reducer'
export const fetchCharacter = (id, isServer) =>
ajax({ url: `https://swapi.co/api/people/${id}` })
.map(response => fetchCharacterSuccess(response.body, isServer))
.catch(error => Observable.of(fetchCharacterFailure(error.response.body, isServer)))