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

Node.js调用Riot API时res.send返回空对象{}问题求助

问题原因

fetchSummonerByName 是异步函数,调用它默认返回的是 Promise 实例,而非你预期的接口返回数据。你直接把 Promise 传给 res.send 时,Express 序列化对象的逻辑会把没有可遍历自有属性的 Promise 实例转为空对象 {},这就是页面返回空括号的原因。
你在函数内部 console.log 能看到正确数据,是因为打印操作是在 await fetch 和 await response.json 执行完成后才触发的,此时已经拿到了最终的接口返回值,和外部调用没加 await 拿到的 Promise 不是同一个东西。

修复方案

把路由回调改成 async 函数,等异步请求执行完成拿到结果后再返回即可:

app.get("/xvma", async function(req, res) {
    const summonerData = await fetchSummonerByName("xvma")
    res.send(summonerData)
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:39:02