Rob*_*Rob 1 javascript get http callback node.js
我需要调用一个发出http请求的函数,让它通过回调将值返回给我.但是,当我尝试时,我一直得到空响应.有帮助吗?
这是我的代码:
var url = 'www.someurl.com'
makeCall(url, function(results){return results})
makeCall = function (url, results) {
          https.get(url,function (res) {
           res.on('data', function (d) {
                    resObj = JSON.parse(d);
                    results(resObj.value)
                });
            }).on('error', function (e) {
                     console.error(e);
                });
        }
mr.*_*eze 11
您需要重构代码以使用回调而不是返回值.以下是获取外部IP地址的修改示例:
var http = require('http');
var url = 'http://ip-api.com/json';
function makeCall (url, callback) {
    http.get(url,function (res) {
        res.on('data', function (d) {
            callback(JSON.parse(d));
        });
        res.on('error', function (e) {
            console.error(e);
        });
    });
}
function handleResults(results){
    //do something with the results
}
makeCall(url, function(results){
    console.log('results:',results);
    handleResults(results);        
});