如何捕捉错误?我什么时候用redux传奇?如果constrefreshresult=yield调用(刷新(中出现错误;
我想停止并抛出这个错误操作
我不知道我能做什么
yield put({
type: REFRESH_FAILURE,
error: err.response.data,
});
我该怎么做?我应该如何停止并发送错误操作?
这是我的代码
function getPostAPI(data) {
return axiosInstace.post('/kakao/getpost', data);
}
function* getPost(action) {
try {
const result = yield call(getPostAPI, action.data);
yield put({
type: GETPOST_SUCCESS,
data: result.data,
});
} catch (err) {
if (err.response.data === 'jwtEx') {
const refreshresult = yield call(refresh); // <<<< if error occure refresh() i want to stop
yield put(action);
} else {
yield put({
type: GETPOST_FAILURE,
error: err.response.data,
});
}
}
}
function* refresh() {
try {
const result = yield call(refreshAPI);
yield AsyncStorage.setItem(
'accesstoken',
`${result.data.accessToken}`,
() => {
// console.log('accesstoken 재발급 저장 완료');
},
);
yield put({
type: REFRESH_SUCCESS,
data: result.data,
});
} catch (err) {
yield put({
type: REFRESH_FAILURE,
error: err.response.data,
});
}
}
我想你的做法是正确的。试着抓就行了。
查看此链接了解更多信息Redux传奇文档