2013-04-30 2 views
0

Request와 Express를 사용하여 HTTP 요청을 렌더링 할 때 그 결과에 어떻게 액세스합니까? 그대로Express에서 HTTP 요청의 결과를 렌더링하는 방법은 무엇입니까?

var request = require('request'); 
var http = require('http'); 

exports.index = function(req, res){ 

    var apiUrl = 'http://api.bitcoincharts.com/v1/weighted_prices.json'; 

    request(apiUrl, function(err, res, data) { 
    if (!err && res.statusCode == 200) { 
     data = JSON.parse(data); 
     console.log(data); 
     res.render('index', { data: data }); 
    } 
    }); 
}; 

, 나는 요청 콜백 내에서 참조하고있어 입술 원시 응답 객체 내가 요청에 액세스하지 않고 내 exports.index 기능의 응답을 호출하는 방법을 궁금하네요.

답변

0

그냥 인수 중 하나의 이름을 변경 :

// either this: 
exports.index = function(req, response) { 
    ... 
    response.render(...); 
}; 
// or this: 
request(apiUrl, function(err, response, data) { 
    if (!err && response.statusCode == 200) { 
    data = JSON.parse(data); 
    console.log(data); 
    res.render('index', { data: data }); 
    } 
}; 
+0

이는 "객체가 함수가 아닙니다"라는 오류가 발생합니다. 그러나 res.render에서 내 요청을 다른 방법과 반대로 배치하여 의도 한대로 작동하도록했습니다. – skovsgaard

관련 문제