Я пытаюсь инициировать действия внутри саги, основываясь на том, содержит ли состояние данные или нет.
Поскольку у меня уже есть саги для получения данных из книг / игр, я хочу повторно использовать эту функциональность. И я хочу запускать их только в том случае, если в хранилище нет этих данных.
Пока это мой код ...
function* getAllSaga(action) {
try {
let books = yield select(Selectors.books);
let games = yield select(Selectors.games);
if(!books.length || !games.length){
yield put({ type: 'GET_BOOKS' });
yield put({ type: 'GET_GAMES' });
}
books = yield select(Selectors.books);
games = yield select(Selectors.games);
const concated = books.concat(games);
yield put({ type: 'GET_ALL_SUCCEEDED', all: concated });
} catch (err) {
yield put({ type: 'GET_ALL_FAILED', message: err.message });
}
}
Как мне решить эту проблему?