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

为何无法通过async/await将Axios请求结果存入变量并访问?

问题分析与解决方法

1. 先修正明显的语法错误

你代码里的const url = my-url是错的,my-url作为字符串必须用单引号/双引号包裹,不然会被解析成变量运算,直接报错:

const url = 'my-url'; // 替换成你实际要请求的API地址

2. 核心问题:await不能在非async上下文里用

await关键字只能在async函数内部使用,你直接在全局作用域(或非async函数)里写let results = await getUser();会触发语法错误,代码根本跑不到这一步,自然访问不到results。

给你两种解决方式:

  • 方式一:把调用逻辑放进async函数
    async function main() {
      let results = await getUser();
      console.log(results);
      // 在这里对results做后续操作
    }
    main();
    
  • 方式二:用Promise的then方法处理返回值
    getUser().then(results => {
      console.log(results);
      // 在这里对results做后续操作
    });
    

3. 额外优化:完善错误处理

当前getUser的catch块只打印错误,但请求失败时函数会返回undefined,可以根据需求补充返回值或抛出错误,方便调用方处理:

async function getUser() {
  try {
    const response = await axios.get(url);
    return response.data;
  } catch (error) {
    console.error(error);
    // 可选:返回默认值
    return null;
    // 或者抛出错误让调用方自行处理
    // throw error;
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 01:45:34