Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.js中使用restler获取HTTP响应_Javascript_Node.js_Httpresponse_Restler - Fatal编程技术网

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/');