[英]node.js request.get() can't figure out how to return response
我在node.js中运行以下命令:
function makeGetFunction(url) {
url = url + '?' + authstring;
console.log("get " + url);
request.get(url, function(e, r, data) {
var json = JSON.parse(data);
var resp = json.entities;
});
}
我想让makeGetFunction()返回resp。 我认为答案就在于使用回调,但是由于我对javascript中的异步调用还很陌生,因此我对如何正确实现它感到困惑。 我还找不到与我的问题相关的任何示例或帖子。 请原谅新手问题。
由于该过程涉及异步调用,因此最好的选择是通过添加回调参数来遵循makeGetFunction
的相同模式:
function makeGetFunction(url, callback) {
url = url + '?' + authstring;
console.log("get " + url);
request.get(url, function(e, r, data) {
var json = JSON.parse(data);
var resp = json.entities;
callback(resp);
});
}
使用makeGetFunction
,将其传递给处理函数,而不是获取返回值:
makeGetFunction('www.myurl.net/what', function(resp) {
// do stuff with response
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.