Node.js API 请求函数的返回中未定义

问题描述 投票:0回答:1

我一直在尝试许多解决方案,但没有任何帮助...我有函数,它执行 GET API 请求并返回 JSON 解析的响应。 Console.log 可以工作并返回解析的响应,但是当我用 return 替换它时,它停止工作并记录“响应未定义”。我还尝试在函数外部声明“dt”。

function apiRequest(apiPath) {
const https = require(nodeprotocol);
var req = https.request(apiPath, res => {
    res.on('data', dt => {
    return JSON.parse(dt); // edited from: return dt;
    });
});

req.on('error', error => {
  console.error(error);
});
req.end();
}

console.log('Response is ' + apiRequest('api data here'));
javascript node.js request undefined
1个回答
0
投票

您似乎没有发回正确的请求。您可能希望将响应作为 json 发送,而不是返回 dt。可能看起来像这样:

var req = https.request(apiPath, res => {
    res.on('data', dt => {
        res.json(dt);
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.