2014-02-05 149 views
0

如何從函數getval中獲取myObject.myname,myObject.myage的值?它會返回undefined當我console.log它。順便說一句我正在使用節點js。謝謝。Node.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); 
    } 

回答

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); 
} 
+0

順便說一句myObject包含myname,myage等 –

+0

只要對象在可由getVal訪問的作用域中聲明,就應該沒有問題 –

2
  1. 聲明myObject傳遞給requestvar myObject)匿名函數,而不是在它裏面。目前它是一個局部變量。
  2. 撥打getVal()已收到HTTP響應(否則它將不會被設置)。目前你根本沒有調用它。
相關問題