import { put, takeEvery, all, fork, delay } from 'redux-saga/effects'; import actionTypes from './actionTypes'; function* showSuccessMessageSaga() { yield takeEvery(actionTypes.SHOW_SUCCESS_MESSAGE, function* _() { yield delay(3000); yield put({ type: actionTypes.CLOSE_SUCCESS_MESSAGE }); }); } function* showErrorMessageSaga() { yield takeEvery(actionTypes.SHOW_ERROR_MESSAGE, function* _() { yield delay(3000); yield put({ type: actionTypes.CLOSE_ERROR_MESSAGE }); }); } export default function* rootSaga() { yield all([fork(showSuccessMessageSaga), fork(showErrorMessageSaga)]); }