Redux-saga

This commit is contained in:
Rodrigo Pedroso 2019-06-19 22:37:59 -04:00
commit df88e7261e
3 changed files with 27 additions and 9 deletions

20
src/js/sagas/api-saga.js Normal file
View file

@ -0,0 +1,20 @@
import { takeEvery, call, put } from "redux-saga/effects"
export default function* watcherSaga() {
yield takeEvery("DATA_REQUESTED", workerSaga)
}
function* workerSaga() {
try {
const payload = yield call(getData)
yield put({ type: "DATA_LOADED", payload })
} catch (e) {
yield put({ type: "API_ERRORED", payload: e })
}
}
function getData() {
return fetch("https://jsonplaceholder.typicode.com/posts").then(response =>
response.json()
)
}