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);
});
}
Run Code Online (Sandbox Code Playgroud)
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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8188 次 |
| 最近记录: |