如何从http.get获取数据

时间:2019-10-09 18:16:46

标签: node.js http

我已经创建了NodeJS服务器,并为HTTP.get方法创建了Promise,并在创建的服务器中调用了get方法功能,但是它显示了错误options.uri

var http = require('http');
var request = require('request');
var rese = null;
function initialize() {
    var options = {
        host: 'httpbin.org',
        path: '/json',
    };
    return new Promise(function (resolve, reject) {
        request.get(options, function (err, res, body) {
            if (err) {
                reject(err);
            } else {
                resolve(JOSN.parse(body));
            }
            /** res.on("data", function(chunk) {
            //console.log("BODY: " + chunk);
            result=chunk;
             });*/
        })
    })
}
http.createServer(function (req, res) {
    if (req.url == '/my') {
        /**result=res.on("data", function(chunk) {
         console.log("BODY: " + chunk);
        });*/
        var initializePromise = initialize();
        initializePromise.then(function (res) {
            rese = result;
            console.log("Initialized user details");
            // Use user details from here
            console.log(userDetails)
        }, function (err) {
            console.log(err);
        });
        //res.end(result);
    }
    else {
        res.end('please find the correct path');
    }
}).listen(2000);
  

error:options.uri是必填参数

1 个答案:

答案 0 :(得分:0)

您的get方法应包含uri,request api get调用结构如下,

request.get("http://bin.org/json", options, function (err, res, body) {
    if (err) {
        reject(err);
    } else {
        resolve(JSON.parse(body));
    }
    /** res.on("data", function(chunk) {
    //console.log("BODY: " + chunk);
    result=chunk;
     });*/
})

尝试进行此更改,它将起作用