2017-12-03 3 views
0

저는 Javascript/Node를 처음 접했습니다. 그러나 Python, Java 및 C++에 대한 프로그래밍 만료가 있습니다. 하나. 변수의 범위를 파악할 수없는 것 같습니다. 예를 들어 x라는 변수와 get 메서드를 통해 특정 웹 사이트의 본문을 가져 오는 메서드가 있습니다. 이제 다른 변수에 저장하려고합니다.요청 모듈, 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의 내용을 할당하십시오. 그래서 실제로 일어나는 일은

  1. 구글에 요청에서
  2. 응답이 도착해야 는, 다음가 응답 본문을 할당합니다 null이 아직 정의되지
  3. Console.log(x);을/Google에 변수 x
  4. 시작 요청을 선언하다 엑스.

비동기임을 이해해야합니다.