使用axios在React中进行两个API调用

时间:2019-08-30 08:11:02

标签: reactjs axios

我正在制作一个应用程序,可以从一个API发送和接收数据。收到这些数据后,我想再次调用另一个API,将其发送到第二个API并从第二个API接收数据。

export const uploadImage = (data) => (dispatch) => {
    dispatch({ type: UPLOAD_IMAGE });
    axios({
        method: 'post',
        url: 'http://3.14.136.182:80/predict',
        data: data,
        "mimeType": "multipart/form-data",
        headers: {
            'content-type': 'multipart/form-data'
        },
        timeout: 20000
    })
    .then((response) => {
        dispatch({ type: UPLOAD_IMAGE_SUCCESS, payload: response.data });
        data = response.data;
        axios({
            method: 'post',
            url: '3.14.136.182:8005/finalResult',
            data: data,
            "mimeType": "multipart/form-data",
            headers: {
                'content-type': 'multipart/form-data'
            },
            timeout: 20000
        })
        .then((response) => {
            dispatch({ type: UPLOAD_IMAGE_SUCCESS, payload: response.data});
            console.log("Mehmood",response.data);
        })
        .catch((error) => {
            dispatch({ type: UPLOAD_IMAGE_FAILURE });
        })
    })
    .catch((error) => {
        dispatch({ type: UPLOAD_IMAGE_FAILURE });
    })


}


1 个答案:

答案 0 :(得分:0)

首先,您在一个return语句中失踪了,然后被阻止。 (在axios之前)。另外,您要调度两次成功。