2016-07-28 19 views
0

なぜeventFB1undefinedは、graph.getコールバック機能の外にありますか?変数の内部コールバック関数がその外側で未定義となるのはなぜですか?

そして、なぜeventFBオブジェクトが、私はgraph.getコールバック関数の内部で(例えばeventFB1としてコンソールログに)resために得る応答に違うのですか?

var graph = require('fbgraph'); 

var eventFB = graph.get('13216634559578/posts', {limit: 1, access_token: 34ul345kt39884p'}, 
       function(err, res) { 
        var eventFB1 = res; 
        console.log(eventFB1); 
       }); 

console.log(eventFB1); 

ありがとう!

+1

、それが原因で非同期コールバックの 'undefined'だから応答を得る前に

したがって、get呼び出し外でコードが実行されます。 'graph.get'の外で' console.log(eventFB1) 'を出力してから' res'を取得しています –

+0

eventFB1は関数内で定義されているため、定義されていません。スコープはグローバルではありません。外部にアクセスするには、グローバル変数として宣言する必要があります。コードでコードを作成してください。私は試してみましたが、requireとgraphは関数ではありません。 –

答えて

2

graph.get同期実行されたJavaScript一方非同期要求だからです。あなたが要求

関連する問題