我有一個NodeJS API。 API中的邏輯需要向google.com發出http獲取請求,捕獲google.com的響應,然後將html響應返回到原始API調用。我的問題是異步捕獲谷歌的http響應並將其返回到原始API調用。NodeJS API使嵌套http獲取請求並返回響應
// Entry point to /api/specialday
module.exports = function(apiReq, apiRes, apiNext) {
var options = {
host: 'www.google.com'
};
callback = function(googleRes) {
var str = '';
// another chunk of data has been recieved, so append it to `str`
googleRes.on('data', function (chunk) {
str += chunk;
});
// capture the google response and relay it to the original api call.
googleRes.on('end', function() {
apiRes.send(str);
});
}
http.request(options, callback).end();
}
我在這裏得到的錯誤是Uncaught TypeError: Cannot read property 'send' of undefined
。我明白爲什麼我會收到錯誤(因爲apiRes超出範圍),我無法弄清楚如何正確執行。任何幫助非常感謝!