response.then()中未定义响应

问题描述 投票:1回答:1

我在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)))
        })
    }
);
javascript reactjs react-redux axios redux-thunk
1个回答
-1
投票

尝试一下:

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吗?

© www.soinside.com 2019 - 2024. All rights reserved.