2016-08-09 2 views
0

I 다음 스크립트가 있습니다동기 GET 요청

var request = require("request"); 
var slogans = request.get("https://raw.githubusercontent.com/queatech/slogans/master/slogans.txt", function(err, res, body){ 
    if (!err && res.statusCode == 200) { 
     return body.split("\n").splice(-1); 
    } 
}); 
console.log(slogans); 

내가

[ '궁극 Q & 사이트', '자유 Q &로 스크립트의 출력을 원하는을 사이트 ','아이디어 Q & A 사이트 ']

대신 긴 JSON GET 쿼리가 표시됩니다. 변수 sloganshttps://raw.githubusercontent.com/queatech/slogans/master/slogans.txt의 GET 요청으로 설정하는 방법이 있습니까?
이것이 가능합니까?

답변

0

요청 라이브러리 소스 코드 [1]에 따르면 request.getRequest 개체를 반환합니다. 실제로 필요한 것은 응답입니다.

당신은 당신의 request.get 전화에 함수를 통과 한

, 그것은 콜백 불리는이 기능은 인수 err, resbody를받습니다. res은 응답을 나타내며, 사용자가 찾고있는 것을 찾으려면 그것을 검사하십시오. 원하는 경우, body에 요청하는 데이터가 포함되어 있습니다.

당신은 당신의 요청에 대한 응답이 도착했을 때 한 번에 실행됩니다 콜백 함수의 범위와 콜백 함수의 몸체 내부에 이러한 변수 (err, resbody)에 액세스 할 수 있습니다.

request.get 뒤에 쓰는 코드는 모두 "병렬로"실행됩니다. 즉, 응답이 도착할 때까지 기다리지 않습니다.

[1] https://github.com/request/request/blob/master/index.js

+0

나는이 내 질문을 해결하지 않습니다 두려워 해요. 궁금한데, 어떻게 'slogans' 변수를 [this] (https://raw.githubusercontent.com/queatech/slogans/master/slogans.txt) 페이지의 값을 "\ n "GET 요청에서? – baranskistad

+0

코드 라인을이 모양으로 유지하고 싶다면 비동기를 들여다 볼 수 있습니다. – FaureHu