列表是个接口,然后根据列表的id去拿具体的详细信息,然后去拼接redux state中列表的信息,但是在列表请求后的then去调用详情的接口,并不能保证列表的state已经拿到了,这个该怎么处理?用的redux-thunk
列表是个接口,然后根据列表的id去拿具体的详细信息,然后去拼接redux state中列表的信息,但是在列表请求后的then去调用详情的接口,并不能保证列表的state已经拿到了,这个该怎么处理?用的redux-thunk
按我的理解,你是不是想要请求两个接口,然后将两个接口返回的数据拼接,放到 state
中?
如果是这样,那基本上和 redux
就没什么关系了。可以封装一下接口实现的 Promise
,将两个请求归并为一个,写法类似下面这样:
const fetch = require('isomorphic-fetch');
const doubanApi = 'https://api.douban.com/';
// v2/movie/top250
// v2/movie/subject/:id
// 获取豆瓣电影 Top250 No.1 的电影信息
fetch(`${doubanApi}v2/movie/top250`)
.then(r => r.json())
.then((data) => {
const firstId = data.subjects[0].id;
return fetch(`${doubanApi}v2/movie/subject/${firstId}`);
})
.then(r => r.json())
.then((data) => { console.log(data); })
.catch((e) => { console.log(e); });
3 回答1.9k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
redux实践异步并不友好,尝试使用redux-thunk或redux-saga吧