Javascript 在Node.js中使用restler获取HTTP响应
我不明白为什么这个代码不适合我Javascript 在Node.js中使用restler获取HTTP响应,javascript,node.js,httpresponse,restler,Javascript,Node.js,Httpresponse,Restler,我不明白为什么这个代码不适合我 var rest = require('restler'); var getResp = function(url){ var resp =""; rest.get(url).on('complete',function(response){ resp = response.toString(); }); return resp; }; 我没有收到关于getResp('
var rest = require('restler');
var getResp = function(url){
var resp ="";
rest.get(url).on('complete',function(response){
resp = response.toString();
});
return resp;
};
我没有收到关于getResp('google.com')
restler是否有遗漏?因为您返回的是
resp
看起来您忘记了请求是异步的。相反,请尝试以下方法:
var rest = require('restler');
var getResp = function(url){
rest.get(url).on('complete', function(response){
console.log(response);
});
};
getResp('http://google.com/');
// output:
// <!doctype html><html itemscope="itemscope" ....
一旦数据输入,您就可以像其他变量一样传递它。
返回resp
在调用('complete'上的回调之前运行,因为它是异步的。这导致resp
变量从未被赋值
试试这个:
var rest = require('restler');
var getResp = function(url){
var result = rest.get(url).on('complete', function(response){
response;
});
return result;
};
getResp('http://google.com/');
您也可以使用中的回调。您是否尝试过getResp('http://google.com“)
?某事..我得到了”
之后如何在变量中得到它?@NickGinanto我添加了一个如何传递响应的示例。你的意思是返回结果吗?
var rest = require('restler');
var getResp = function(url){
var result = rest.get(url).on('complete', function(response){
response;
});
return result;
};
getResp('http://google.com/');