#javascript #reactjs #redux #redux-saga
#javascript #reactjs #сокращение #redux-saga
Вопрос:
У меня есть этот код redux saga, и я пытаюсь отладить его, вводя debugger в некоторых местах кода. Вот код saga, который я пытаюсь отладить.
function* cricketMatchCardClickHandler({ matchId, matchBaseUrl }) {
try {
const authToken = yield select(state => state.auth.authToken);
console.log("authToken", authToken);
if (!authToken) {
yield* fetchCricketDraftPlayers({ matchId });
yield put({ type: RESET_CRICKET_FANTASY_PLAYER_SELECTION });
history.push(matchBaseUrl "/pick-players");
} else {
debugger; // this debugger gets executed
const sportsFanDraftGameDetails = yield call(
getSportsFanDraftGameDetails,
authToken,
matchId
);
console.log("sportsFanDraftGameDetails", sportsFanDraftGameDetails);
debugger; // this debugger didn't get executed
yield put({
type: FETCH_SPORTS_FAN_DRAFT_DETAILS_SUCCESS,
response: sportsFanDraftGameDetails
});
debugger;
if (sportsFanDraftGameDetails) {
history.push(matchBaseUrl "/dashboard/timeline");
} else {
yield* fetchCricketDraftPlayers({ matchId });
yield put({ type: RESET_CRICKET_FANTASY_PLAYER_SELECTION });
history.push(matchBaseUrl "/pick-players");
}
}
} catch (error) {
debugger;
console.log(error);
}
}
Я вижу, что даже журнал консоли не выполняется. Что именно это означает и как это связано с сагой redux? Как мы можем это исправить?
Комментарии:
1. Если вы console.log(состояние); за пределами блока try {}, есть ли что-то в этом? Как насчет того, чтобы после назначения authToken попробовать authToken.next(); что тогда произойдет в console.log()?
2.
call
это блокирующий эффект, так что это означает, чтоgetSportsFanDraftGameDetails
он еще не завершен, но вы можете его отладить.3. @cyrilluce привет, не могли бы вы, пожалуйста, объяснить, как это отладить?
4. @godfather_satyajeet нравится то, что вы делаете, добавьте отладчик или просто добавьте точку останова в chrome DevTools
5. Я только что представил отладчик. Я хочу, чтобы консоль регистрировала все как есть.