我在redux调度中遇到奇怪的行为。对于分派功能res未定义,但是对于控制台日志,该功能调用res上方的一行已正确记录。任何想法为什么会这样?
export const uploadFiles = (files: File[], artworkId: string, fileType: string) => (
(dispatch: Dispatch) => {
files.forEach(file => {
axios.post(
`${my-api-route}, convertToFormDataFile(file, fileType))
.then(res => {
console.log(res.data.data.id)
dispatch(uploadFileLimitedEditionSuccess(res.data.data.id, file, fileType))
})
.catch(err => dispatch(uploadFileLimitedEditionFailure(err.response.data.errors[fileType === 'pdf' ? 'pdf' : 'file'], file.name, fileType)))
})
}
);
尝试一下:
export const uploadFiles = (files: File[], artworkId: string, fileType: string) => (
(dispatch: Dispatch) => {
files.forEach(file => {
axios.post(
`${my-api-route}, convertToFormDataFile(file, fileType))
.then(res => {
console.log(res)
dispatch(uploadFileLimitedEditionSuccess(res.data.id, file, fileType)) ## Change here
})
.catch(err => dispatch(uploadFileLimitedEditionFailure(err.response.data.errors[fileType === 'pdf' ? 'pdf' : 'file'], file.name, fileType)))
})
}
);
您确定要执行res.data.data.id
吗?