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

Node.js控制器无法返回响应但控制台可输出值,求技术排查

问题分析与解决办法

你的代码无法发送响应的核心原因是:fetchData函数需要使用res对象来返回响应,但你调用它时只传递了hubId,没有把res对象传入,导致fetchData里的res未定义,无法执行响应操作。

修正方案一:传递res对象到fetchData

修改调用逻辑,把res作为参数传给fetchData:

const hubHome = (req,res) => {
  const hubId = req.params.hubId;
  fetchData(hubId, res);
}

const fetchData = (id, res) => {
  console.log(`Hub id is ${id}`);
  return res.status(200).send(`Hub id is ${id}`);
}

module.exports = hubHome; 

修正方案二:拆分职责(更推荐)

让fetchData专注于数据处理,响应逻辑留在控制器hubHome中,这样代码职责更清晰:

const hubHome = (req,res) => {
  const hubId = req.params.hubId;
  const result = fetchData(hubId);
  res.status(200).send(`Hub id is ${result}`);
}

const fetchData = (id) => {
  console.log(`Hub id is ${id}`);
  return id;
}

module.exports = hubHome; 

内容的提问来源于stack exchange,提问作者Digvijay Singh Thakur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:40:26