2016-06-25 8 views
0

グローバル変数を設定し、node.jsの内部から値を設定したいリクエスト module get関数です。ここに私のコードはありますか?グローバル変数が要求取得関数から更新されない

var req = require('request'); 
var server = ''; 

req.get('http://httpbin.org/headers',function(err,res,body){ 
server = res.headers.server; 
console.log(body); 
}); 

console.log(server); // result undefined 

問題はいつでも私は不定になります。

+0

はい、get関数、にconsole.log(サーバー)とはconsole.log(res.headers.server)の内部で作業しているためにイベントを使用する方が良いでしょう! –

+1

あなたのコードの問題は、すぐに 'server'を出力することですが、コールバック関数はリクエストが終了したときにのみ呼び出されます。あなたは何を達成したいですか?もう少しコードを表示する必要があります。 – vsakos

+0

こんにちは@vsakos、私は学ぶnodejs要求パッケージを学習していますどのように私は応答ヘッダーまたはクッキーから任意の値を取得し、別の要求で使用するグローバル変数にプッシュします。 –

答えて

-1

グローバルにコールバックを設定することはお勧めしません。 それはあなたがこの

EDIT

app.on('serverHeader', function(data){ 
//do stuff 
}); 

app.get('...', function(req, res, cb){ 
app.emit('serverHeader', res.headers); 
}); 
+0

こんにちは、イベントを使って設定するのを手伝ってもらえますか?ありがとう –

+0

私は誰がなぜ私を投票するのか理解していない! –

+0

問題のコードは、要求モジュールで要求を行う方法を尋ねています。あなたのコードは、まったく別のモジュール(Expressのように見える)でリクエストを受信する*方法を示しています。 – Quentin

関連する問題