[英]Node.JS function the returns http response value
我需要調用一個發出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);
});
}
您需要重組代碼以使用回調而不是返回值。 這是獲取您的外部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);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.