axiosでデータを取り出しreact側で取得したのはいいのですが、返ってきたものがPromise型になってうまく取り出せません。
axios
1export const getChartScore = (code) => { 2 return (dispatch) => { 3 dispatch(getChartRequest()); 4 5 return axios.get(config.UrlPORT+'/stock_data/'+code) 6 .then(response => dispatch(getChartSuccess(response.data))) 7 .catch(error => dispatch(getChartFailure(error))) 8 }; 9}; 10 11export const getChartRequest = () => ({ 12 type: actionTypes.GET_CHART_REQUEST, 13}); 14 15export const getChartSuccess = (json) => ({ 16 type: actionTypes.GET_CHART_SUCCESS, 17 items: json, 18}); 19 20export const getChartFailure = (error) => ({ 21 type: actionTypes.GET_CHART_FAILURE, 22 error: error, 23});
react
1...(略) 2const { actions } = this.props; 3const item_data = actions.getChartScore(6555); 4console.log(item_data); 5...(略)
自分で調べてPromise型はthenで取り出せることは分かったのですが、中々うまいように展開できません。
●失敗例1
axios
1export const getChartScore = (code) => { 2 return (dispatch) => { 3 dispatch(getChartRequest()); 4 5 return axios.get(config.UrlPORT+'/stock_data/'+code) 6 .then(response => response.data) 7 //↓これもPromise型が返ってくる... 8 .then(data => dispatch(getChartSuccess(data))) 9 .catch(error => dispatch(getChartFailure(error))) 10 }; 11}; 12 13export const getChartRequest = () => ({ 14 type: actionTypes.GET_CHART_REQUEST, 15}); 16 17export const getChartSuccess = (json) => ({ 18 type: actionTypes.GET_CHART_SUCCESS, 19 items: json, 20}); 21 22export const getChartFailure = (error) => ({ 23 type: actionTypes.GET_CHART_FAILURE, 24 error: error, 25});
●失敗例2
react
1...(略) 2const { actions } = this.props; 3const item_data = actions.getChartScore(6555); 4//↓これもPromise型が返ってくる... 5const data = item_data.then(function(v) { 6 return v 7}); 8console.log(data); 9...(略)
何かいい方法があれば教えていただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。