reducer中 发送多个fetch请求
来源:9-10 redux状态管理:详情页连接redux(1)

慕粉8061310
2019-06-21
老师,您好: 我买了您的课程 感觉讲的挺好,我再实际的工作中遇到一个问题。我有个业务场景,进入列表页,会先发送一个A请求,根据A请求的返回的结果,在发送B请求。 也就是说B请求的参数,是A请求的结果。这个业务场景在reducer中 怎么实现呢 请老师指点。
我现在的写法是先发送请求A,从A的返回结果中取出请求B用到的参数,虽然这种写法实现了我的业务功能,这种写法不优雅。
如下是我的代码
//加载左侧列表
loadDivisionList: (hosid) => {
return (dispatch, getstate) => {
const targetURL = url.API_HOSPITAL_DIVSION_LIST(hosid)
return post(targetURL).then(
data => {
data.data.map((item, index) => {
if (index === 0) {
item.isSel = true
} else {
item.isSel = false
}
})
dispatch(fetchDivisionListSuccess(data.data))
const targetURL = url.API_DIVSION__DEPARTMENT_LIST(hosid, data.data[0].id)
return dispatch(fetchDepartmentList(targetURL))
},
error => {
}
)
}
},
写回答
1回答
-
艾特老干部
2019-06-21
你好。你这种写法是没有问题的,action中本来就应该负责主要的数据逻辑,组件只关注数据的使用。
022019-06-24
相似问题