javascript - Node.js http.get 作为函数

标签 javascript node.js

我正在尝试创建一个返回网页内容的函数,这就是我到目前为止所拥有的

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() 的方法。在控制台上,它只是没有响应。

谢谢

最佳答案

类似的事情:(不要忘记处理错误和超时)

var on_contents = function(cb) {
    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();
        });

        res.on('end', function(){
            cb(data);
        });

        //console.log(data);
    }).end();

}

function onFinish(data) {
    console.log(data);

}

on_contents(onFinish)

关于javascript - Node.js http.get 作为函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902994/

相关文章:

node.js - Mongoose 更新具有空值的字段会引发异常

node.js - 即使使用 Procfile 和特定的 Web 进程,Heroku 也总是从 "npm"开始

javascript - 正则表达式 - 意外的量词

javascript - 在我的 node.js/socket.io 项目中使用本地文件

javascript - jade to pug migration => 无法读取函数调用中未定义的属性 'every'

javascript - 如何向 HTML/Jquery 选项卡添加图标以在 Episys Symitar 中使用

javascript - NodeJS 中 Promise 不等待返回值

ruby-on-rails - 与 ws ://localhost:9292/faye was interrupted while the page was loading 的连接

javascript - Laravel 无法从 Vue-multiselect 获取值

Node.js + 使用 RESTIFY 提供静态文件