2017-12-03 12 views
0

私はJavascript/Nodeをかなり使い慣れています。しかし、私はPython、Java、C++を中心にいくつかのプログラミングがあります。しかしながら。私は変数の範囲を把握していないようです。 たとえば、xという名前の変数とメソッドを取得しました。これはget要求によって特定のWebサイトの本体を取得します。今私は別の変数に格納したい。要求モジュール、Nodejsからボディを取得

Dependency I use.

マイスクリプト:

const request = require('request'); 

var x; 

request('http://www.google.com', function(err, res, body) { 
    return this.x = body; 
}); 

console.log(x); // Should return the "body" from the request method. 

リターン:

undefined 
+0

[ここ](https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call?rq=1)を参照してください。コードは少し異なりますが、コンセプトは同じです。 – MikaS

+0

あなたはそれを解決しましたか? –

答えて

0

あなたは、トップスコープでちょうどvar x;を入れて、コールバックの内側にxの内容をassigne。だから何実際に起こることは要求からGoogleにまだ定義されていません

  • Console.log(x);/nullに
  • レスポンスが到着すべきであるGoogleに

    1. 宣言変数x
    2. スタート要求である、それはへのレスポンスボディを割り当てますバツ。

    あなたはそれが非同期であることを理解する必要があります。

  • 関連する問題