我在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中的异步调用相当新,我对如何正确地将其拉出来感到磕磕绊绊。我还没有找到与我的问题相关的任何示例或帖子。请原谅新手问题。
答案 0 :(得分:0)
由于该过程涉及异步调用,因此最好的选择是在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
});