其undefined
原因是,console.log(response)
运行doCall(urlToCall);
完毕。您还必须传递一个回调函数,该回调函数在您的请求 完成时运行。
首先,您的功能。向其传递回调:
function doCall(urlToCall, callback) {
urllib.request(urlToCall, { wd: 'nodejs' }, function (err, data, response) {
var statusCode = response.statusCode;
finalData = getResponseJson(statusCode, data.toString());
return callback(finalData);
});
}
现在:
var urlToCall = "http://myUrlToCall";
doCall(urlToCall, function(response){
// Here you have access to your variable
console.log(response);
})