道歉,我不熟悉nodejs。
我有以下行在httpsGet的第一部分中给出了myResult的结果。
httpsGet(myRequest, (myResult) => {
});
我如何将其添加到以下代码中并将其附加到变量元数据的“标题”部分?
var metadata = {
title: "Title",
subtitle: "Subtitle"
};
我已经尝试了显而易见的事情:
var metadata = {
title: "Title" + myResult,
subtitle: "Subtitle"
};
但这不起作用。
感谢。
更新(包含httpsGet功能)
var myRequest = 'ThisData';
var https = require('https');
function httpsGet(myData, callback) {
var options = {
host: 'www.example.com',
port: 443,
path: '/path_to.json',
method: 'GET',
};
var req = https.request(options, res => {
res.setEncoding('utf8');
var returnData = "";
res.on('data', chunk => {
returnData = returnData + chunk;
});
res.on('end', () => {
var pop = JSON.parse(returnData).data;
callback(pop);
});
});
req.end();
}
我的.json文件回复:
{
"Name": "ThisData",
"data": "this is the data I want to append to Title"
}
答案 0 :(得分:0)
我希望你将myResult追加到回调函数范围内。理想情况下,您的代码应如下所示:
var metadata = {
title: "Title",
subtitle: "Subtitle"
};
httpsGet(myRequest, (myResult) => {
metadata = {
title: "Title" + myResult,
subtitle: "Subtitle"
};
});
如果您是node js的新手,请尝试在nodejs中探索回调和异步函数。我希望你能:)
答案 1 :(得分:0)
您好我不确定您的代码,但是为了从回调中访问任何内容,您可以将其作为JSON对象访问,因此在您的情况下
var metadata = { 标题: myResult.Title , 副标题:“字幕” };
应该有效。每当你处理这些事情时,你最好先控制.log数据(即console.log(JSON.stringify(myResult))并验证所有预期的参数。