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

执行Alphavantage请求代码无中间日志,请求疑似未执行

问题原因及解决方案

核心原因:异步操作未被等待,进程提前退出

你的代码中axios.get是异步Promise操作,函数执行时会先同步跑完所有非异步代码(也就是function called和end function的日志),此时异步请求还在后台处理,没有返回响应。如果是在Node.js环境下,主线程的同步代码执行完毕后,进程会默认直接退出,导致then/catch里的回调根本没机会执行——这就是你看不到中间日志的原因。而Postman是专门的HTTP客户端,会自动等待请求响应完成,所以能正常获取结果。

修复方案

方案1:改用async/await语法等待异步请求

将函数改为async函数,用await阻塞等待axios.get的响应,确保异步操作完成后再执行后续代码:

export const retrieveData = async () => {
    console.log('function called');
    const url = `https://www.alphavantage.co/query?function=FX_DAILY&from_symbol=EUR&to_symbol=USD&apikey=${key}`;

    try {
        const response = await axios.get(url,{
            responseType: 'json',
            headers: { 'User-Agent': 'request' }
        });
        console.log('first step', response);
        const data = response;
        console.log('second step');
        console.log(data);
        const successMessage = 'hola';
        console.log('success', successMessage);
    } catch (error) {
        console.error(`Error: ${error}`);
    }

    console.log('end function');
};

方案2:确保进程等待异步操作完成(Node.js环境)

如果不想修改函数结构,调用retrieveData时需要显式等待Promise完成,避免进程提前退出:

// 调用示例
retrieveData().then(() => {
    // 异步操作完成后再退出进程
    process.exit();
});

额外检查点

虽然Postman测试正常,但还是要确认代码中的key变量是否在当前作用域内正确定义——如果key未正确导出或作用域错误,也可能导致请求失败(但此时catch应该会输出错误日志,不过进程提前退出的话也看不到)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:33:24