其
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);})@Rodrigo,在评论中发布了很好的资源。阅读有关节点中的 回调 及其工作方式的信息。请记住,它是异步代码。



