我在学习Redux Saga,大部分情况下它是有意义的。但是,我遇到了一个似乎有更好实现的场景。Redux Saga中的从属异步调用
我需要通过POST
请求向第三方网站提交订单。为了提交订单,我首先需要向不同端点发送GET
请求,以检索POST
请求所需的一些信息。也就是说,POST
请求依赖于成功返回的GET
请求。
我目前工作的解决方案看起来是这样的:
function* create(action) {
try {
const code = yield axios.get('/url/to/code?id=XXXXX'`);
const order = {...some_object, code: code.data}
const result = yield axios.post('/url/to/order', order);
yield put({...action, type: CREATE_SUCCESS, data: result.data});
} catch (e) {
const errors = e.response.data;
yield put({...action, type: CREATE_FAIL, errors: errors});
}
}
是否有终极版佐贺来处理这一个推荐的方式?
我想到的一个想法是将每个请求转移到自己的操作中,然后GET
操作将分派POST
操作。寻找关于如何做这个'佐贺'的方法。