You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Axios时从.then箭头函数返回数据始终为undefined的问题

问题原因

你的getData函数没有返回异步请求的结果。then/catch回调里的return只在回调内部生效,不会成为getData的返回值,所以外层await后拿到的自然是undefined。

修复方案

方案1:用try/catch替代then/catch(推荐,更贴合async/await的写法)

getData = async function (afgJSON) {
    console.log("step 2")
    try {
        const response = await axios.post(process.env.afgEndPoint, afgJSON, { headers: headers })
        console.log("step 3")
        return response.data
    } catch (e) {
        console.log("step 3")
        return e.response.data
    }
}

方案2:保留then/catch,返回整个Promise链

直接把axios请求的Promise链作为getData的返回值即可:

getData = async function (afgJSON) {
    console.log("step 2")
    return axios.post(process.env.afgEndPoint, afgJSON, {
        headers: headers
    })
    .then((response) => {
        console.log("step 3")
        return response.data
    })
    .catch((e) => {
        console.log("step 3")
        return e.response.data    
    })
}

(注:async函数里直接return Promise也能被外层await正确处理,加不加await都可以)

内容的提问来源于stack exchange,提问作者Danielle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:05:25