2017-12-04 2 views
0

노드 응용 프로그램에 요청 lib (https://www.npmjs.com/package/request)를 사용합니다.노드 요청의 간단한 사용이 작동하지 않습니다.

그리고이 간단한 예제가 작동하지 않습니다는 :

console.log(' BEGIN ---- '); 
request('http://www.google.com', function (error, response, body) { 
    console.log('error:', error); // Print the error if one occurred 
    console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received 
    console.log('body:', body); // Print the HTML for the Google homepage. 
}); 
console.log('END ---- '); 

난 단지 시작 ----END ---- 내 콘솔 메시지,하지만 아무것도 GET 요청에서 있습니다.

내가 뭔가를 놓쳤습니까?

답변

0

Nodejs는 실행할 때 스크립트 요청이 가서 제공된 링크에서 데이터를 가져 오는 데 약간의 시간이 필요하지만이 완료 될 때까지이 작업 때문에 다른 코드는 기다리지 않습니다 완료하는 데 시간이 좀 걸릴 것입니다 의미 비동기를 작동 .

콜백을 사용하여 결과를 기다릴 수 있습니다. 아래 코드는 문제 해결을위한 쉬운 솔루션입니다.

하지만 더 깨끗하고 쉬운을위한

const request = require('request') 
 

 

 
function req(callback){ 
 
    console.log(' BEGIN ---- '); 
 
    request('http://www.google.com', function (error, response, body) { 
 
     console.log('error:', error); // Print the error if one occurred 
 
     console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received 
 
     console.log('body:', body); // Print the HTML for the Google homepage. 
 
     callback() 
 
    }); 
 
} 
 

 
req(function(){ 
 
    console.log('END ---- '); 
 
})

당신이 약속 또는 비동기를 사용하는 방법을 배우게해야하는 코드를 읽기/nodejs의 기능을 기다리고 있습니다.

관련 문제