在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ redux 怎樣保證state改變后再請(qǐng)求新的數(shù)據(jù)?

redux 怎樣保證state改變后再請(qǐng)求新的數(shù)據(jù)?

列表是個(gè)接口,然后根據(jù)列表的id去拿具體的詳細(xì)信息,然后去拼接redux state中列表的信息,但是在列表請(qǐng)求后的then去調(diào)用詳情的接口,并不能保證列表的state已經(jīng)拿到了,這個(gè)該怎么處理?用的redux-thunk

回答
編輯回答
深記你

redux實(shí)踐異步并不友好,嘗試使用redux-thunk或redux-saga吧

2017年9月15日 05:35
編輯回答
莓森

按我的理解,你是不是想要請(qǐng)求兩個(gè)接口,然后將兩個(gè)接口返回的數(shù)據(jù)拼接,放到 state 中?

如果是這樣,那基本上和 redux 就沒什么關(guān)系了??梢苑庋b一下接口實(shí)現(xiàn)的 Promise,將兩個(gè)請(qǐng)求歸并為一個(gè),寫法類似下面這樣:

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); });
2017年4月30日 07:36