Я пытаюсь сделать функцию, которая возвращает содержимое веб-страницы, и это то, что я до сих порNode.js http.get как функция
var get_contents = function() {
var httpRequestParams =
{
host: "google.com",
port: 80,
path: "/?"
};
var req = http.get(httpRequestParams, function(res)
{
var data = '';
res.on('data', function(chunk) {
data += chunk.toString();
});
//console.log(data);
}).end();
return req;
}
В этом, когда я запускаю этот код, я вижу содержимое html, когда включено ведение журнала консоли, но когда я пытаюсь вернуть вывод, он просто никогда не работает.
Я не могу найти способ вернуть get_contents()
в любом месте. На консоли он просто не отвечает.
Благодаря
не работает. Распечатывает данные на консоли, но не передает их. – Kartik
node.js является асинхронным. Вы должны использовать событие или обратный вызов, чтобы получить результат своей функции. – Vodun
+1 для @Vodun. Узел работает с функциями обратного вызова, а не с возвратами. Пожалуйста, см. [Это видео] (http://www.youtube.com/watch?v=jo_B4LTHi3I), чтобы получить представление об основных различиях между узлами и некоторыми традиционными языками. –