nodejs将结果添加到变量

时间:2018-06-04 10:46:36

标签: node.js var

道歉,我不熟悉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"
}

2 个答案:

答案 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))并验证所有预期的参数。