我试图理解为什么getSalaries变量将未定义的日志记录到控制台。如果我用data.es(result)替换dataResult函数中的return语句,那么对Web服务的调用很好。 JSON打印好了。这是代码:
var http = require('http');
var options = {
host: 'redacted',
port: '80',
path: '/redacted',
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
};
var getSalaries = function(callback){
var salaries = getMFLData(options, dataResult);
callback(salaries);
}
var processSalaries = function(salaries){
console.log(salaries);
}
getSalaries(processSalaries);
function getMFLData(options, callback){
http.request(options, function(res){
var body = '';
res.on('data', function(chunk){
body+= chunk;
});
res.on('end', function(){
var result = JSON.parse(body);
callback(null, result);
});
res.on('error', callback);
})
.on('error', callback)
.end();
}
function dataResult(err, result){
if(err){
return console.log('an error occured getting MFL data ', err);
}
return result;
};
感谢您对此提供任何帮助。我只是尝试将getMFL函数重用于多个调用,但无法弄清楚如何获取返回值。
戴夫