在Redux传奇中获取响应而不是错误

时间:2019-01-31 01:44:56

标签: reactjs redux redux-saga

我想知道如何在redux saga中处理错误响应,我仍在学习并且正在这样做:

export function* loginUserSaga(action) {
 try {
  const user = action.payload
  const responseData = yield call(loginUser, user);
  yield put(succeededLoginRequest(responseData));
 } catch (e) {
  yield put(failedLoginRequest(e.message));
 }
}

如果还有另一种处理方式,那么我可以获得响应而不是错误?正如我在文档中看到的那样,通常使用try catch来向API发出请求

1 个答案:

答案 0 :(得分:1)

通常使用Try..catch,但是您可以修改loginUser响应以返回带有响应/错误字段的对象,然后使用条件代替try..catch。

这是来自文档(https://redux-saga.js.org/docs/basics/ErrorHandling.html)的示例:

describe('placeholder', () => {

    it('will always pass', async () => {
        expect(true).toBe(true);
    });
});