gpt4 book ai didi

javascript - 函数返回 undefined variable Javascript

转载 作者:行者123 更新时间:2023-11-30 11:16:59 25 4
gpt4 key购买 nike

在 Javascript 中,当我从另一个 js 文件调用此函数时,我在控制台输出中得到 undefined。我可以返回称为“obj”的 json 对象而不是未定义吗?

module.exports = {
getTechnicPackInfo: function(id){
var http = require("https");

var options = {
"method": "GET",
"hostname": "solder.io",
"path": "/api/aurora-crafters/modpacks/" + id,
"headers": {
"accept": "application/json",
"content-type": "application/Json",
"authorization": "Bearer 00000000000000000000000000000"
}
};

var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function () {
var body = Buffer.concat(chunks);
var obj = JSON.parse(body);
return obj;
});
});

req.end();
}
}

最佳答案

你没有返回任何东西

您遇到的问题是由于函数 getTechnicPackInfo 根本没有返回任何值引起的,而不是内部函数。

您想要做的是使用 fetch api 来获取您尝试获取的所有内容,并返回 fetch 返回的值。这允许您执行以下操作:

getTechnicPackInfo(...).then(resultingData => resultingData.json()).then(parsedData => ...)

这是有效的,因为 fetch 返回一个 Promise 允许你然后用 .json 解析数据(它有它自己的功能,因为你可以不要简单地执行返回另一个 Promise

JSON.parse)

fetch 默认情况下在 Node 中不存在

fetch 不是 node.js 内置的默认函数,因此,您必须在安装后导入它 node-fetch .

命令行:

npm install --save node-fetch

Node .js:

import fetch from 'node-fetch';

关于javascript - 函数返回 undefined variable Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51182399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com