axios.post().then() 不将解析的数据传递给回调函数

Kyl*_*yle 5 javascript reactjs axios

当我axios.post(...).then(data=>callback(data))在回调中访问数据时,未定义使用数据,但是,访问数据之前的控制台日志会显示所有数据。

我已经尝试了所有可能的异步等待组合。我觉得这是一个比我做的问题简单得多的问题。

// passed in as successCallback
const handleCreationCompleted = data => {
    console.log(data)

    // Error below ReturnedDataObject not defined
    var object = data.ReturnedDataObject

}

const createObject = async (variables, successCallback, errorCallback) => {
    ...
    await axios.post(url, form_data, {
        headers: {
    ...
        },
    }).then(res => {
        successCallback(res)
    })
    .catch((err) => {
        errorCallback(err)
    })
Run Code Online (Sandbox Code Playgroud)

我应该能够在 successcallback 中访问数据,这是一个 json 对象(它是从 graphql api 获取的)

Arc*_*Arc 4

你正在使用awaitthen(). 你应该切换到一个。如果使用await,请将结果分配给变量。您还应该传回响应的数据,而不是响应本身。

const response = await axios.post(...)
callback(response.data)
Run Code Online (Sandbox Code Playgroud)

如果你想使用then,那么它是:

axios.post(...)
.then(respone => callback(response.data))
Run Code Online (Sandbox Code Playgroud)