Redux-saga
This commit is contained in:
parent
5ecf405fde
commit
df88e7261e
3 changed files with 27 additions and 9 deletions
20
src/js/sagas/api-saga.js
Normal file
20
src/js/sagas/api-saga.js
Normal 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()
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue