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

Node.js服务GET请求耗时过长 Postman访问本地接口无返回无报错

问题排查与修复方案

根本原因

Express 路由处理逻辑中未主动返回响应,导致 Postman 一直等待服务端返回内容,进入无限加载状态。你仅在终端打印了第三方接口返回的数据,没有将数据回传给请求方。

其他需要修复的问题

  • 第三方请求 URL 缺少 http:// 或 https:// 协议头,node-fetch 无法正常发起请求
  • console.errror 拼写错误,正确写法为 console.error
  • api_key 赋值未加引号,会直接抛出变量未定义的语法错误
  • 没有对异常场景做响应处理,第三方接口报错时请求方同样收不到任何返回

修复后完整代码

const express = require('express');
const app = express();
const fetch = require('node-fetch');
require('dotenv').config();

// 若使用dotenv管理密钥,建议替换为 const api_key = process.env.API_KEY
const api_key = "XXXXXXXXXXX"

app.use(express.static('public'));
app.listen(9001, () => console.log('listening at 9001'));

app.get("/api", async (req,res)=> {
    console.log("getting data")
    // 补全URL协议头
    const url = `https://website.com/vi/api/?alt=json&key=${api_key}`
    const options = {
        method: "GET"
    };
    try {
        const fetchRes = await fetch(url, options)
        const result = await fetchRes.json()
        console.log(result)
        // 核心:返回响应给请求方
        res.json(result)
    } catch (e) {
        console.error({
            message: "oh no",
            error: e
        });
        // 错误场景返回异常响应
        res.status(500).json({
            message: "接口请求失败",
            error: e.message
        })
    }
});

验证步骤

重启 Node 服务后,再次通过 Postman 请求 localhost:9001/api 即可正常拿到返回内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:39:04