在redux-saga中嵌套try catch是一种好的做法吗?

时间:2017-07-20 20:42:01

标签: api reactjs redux redux-saga

这就是我所拥有的......但我怀疑这是否合法。 基本上我想要实现的是我获取一个项目,如果它失败了,我想发一个帖子请求。

    try {
        const response = yield call(axios.get, `/api/cars/${action.payload.car}`)
        yield put({type: RECEIVE_CAR, requestPending : false, data: response.data})
    } catch (e) {
    console.log(e)
        try {
            const response = yield call(axios.post, `/api/cars/`, action.payload)
            yield put({type: RECEIVE_CAR, requestPending : false, data: response.data})
        } catch (error) {
            console.log(error)
        }
    }

1 个答案:

答案 0 :(得分:0)

这是Javascript开发中的常规做法。建议在Javascript参考here

你也可以写另一个失败的传奇,而是在catch语句中调用那个传奇。