Node.js从另一个函数访问变量的值

时间:2014-02-05 09:06:18

标签: javascript node.js function

如何从函数getval获取myObject.myname,myObject.myage的值?它在我console.log时返回undefined。顺便说一下,我正在使用节点js。感谢。

    var post = http.request(options, function(res) {
        res.setEncoding('utf8');
        res.on('data', function (data) {
        console.log('Response: ' + data);

    var myObject = JSON.parse(data);

        console.log('----------------------------------------------');
        console.log(myObject.myname);
        console.log(myObject.myage);
        console.log('----------------------------------------------');
        });
    });

    function getVal() {
        //some code here
        console.log(myObject.myname);
        console.log(myObject.myage);
    }

2 个答案:

答案 0 :(得分:2)

  1. 将您传递给myObjectrequest)的匿名函数声明为var myObject ,而不是在其中。目前它是一个局部变量。
  2. 在收到HTTP响应后调用getVal() (否则尚未设置)。目前你根本就没有打电话。

答案 1 :(得分:0)

存在范围问题,您可以尝试这样做吗?

var myObject = {};
var post = http.request(options, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (data) {
    console.log('Response: ' + data);

    myObject = JSON.parse(data);

    console.log('----------------------------------------------');
    console.log(myObject.myname);
    console.log(myObject.myage);
    console.log('----------------------------------------------');
    });
});

function getVal() {
    //some code here
    console.log(myObject.myname);
    console.log(myObject.myage);
}