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

调用API后console.log返回undefined但网络有数据的问题求助

解决API响应打印undefined的问题

你的问题出在getUsers函数没有返回API请求的结果。async函数如果没有显式return值,默认会返回undefined,哪怕网络请求已经成功拿到数据,也不会自动把数据传递给调用方。

修改方法:

在getUsers的try块里,把axios请求的结果return出去:

export const getUsers = async() => {
    try {
        // 返回请求的响应结果
        return await axios.get(`${URL}/all`)
    } catch (error) {
        console.log("Error while calling getUsers API", error);
        // 可选:抛出错误让调用方处理,避免调用者拿到undefined却不知道出错
        throw error;
    }
}  

调用时建议加上错误捕获(避免请求失败时出现未处理的Promise报错):

const getAllUsers = async () => {
    try {
        let response = await getUsers();
        console.log(response);
    } catch (err) {
        console.log("获取用户列表失败", err);
    }
}

原理说明:

async函数本质上返回一个Promise对象。当函数内部没有return任何值时,这个Promise最终会resolve为undefined。你之前的代码里,虽然axios请求成功拿到了数据,但没有把数据作为函数返回值传递出去,所以getAllUsers里的response自然就是undefined。

另外,也可以直接return axios请求(不用await),因为axios.get本身返回的就是Promise,async函数会自动处理:

export const getUsers = async() => {
    try {
        return axios.get(`${URL}/all`)
    } catch (error) {
        console.log("Error while calling getUsers API", error);
        throw error;
    }
}  

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:05:24