我正在使用 redux-thunk 在我的 React 應用程序中執行異步操作,如下所示:export const fetchImages = (objects) => dispatch => { const promises = objects.map(obj => axios .get(`${API_URL}/files/${obj.img ? vendor.img : 'default.png'}`, {responseType: 'arraybuffer'}) .then( res => obj.imgData = 'data:;base64,' + convertArrayBufferToBase64(res.data)) ); return Promise.all(promises).then (() => Promise.resolve(objects));}當我在我的任何組件中使用它時,這完全正常。但是,如果我在另一個動作中使用它,如下所示:export const fetchAllObjects = () => dispatch => axios.get(`${API_URL}/objects?limit=50`) .then(res => fetchImages(res.data.docs).then(objects => dispatch({ type: FETCH_ALL_OBJECTS, payload: objects }); ));它失敗。我希望它返回一個承諾,但是它返回“dispatch => ...”,因此then()返回值失敗。
Redux thunk - 嵌套分派的函數/動作
RISEBY
2021-12-23 10:52:09