请求始终返回null错误对象

7 runtime-error http request node.js

我正在使用Request和标准Node.js HTTP模块来编写一个简单的休息服务.

现在,服务器端请求处理程序如下所示:

response.writeHead("400","Nope");
response.end();
Run Code Online (Sandbox Code Playgroud)

客户端代码如下所示:

request.get(href,handleResponse);
function handleResponse(error,response,body) {

   console.log(arguments);
}
Run Code Online (Sandbox Code Playgroud)

response.statusCode400,但error永远null.

我需要做什么服务器端才能让Request模块识别响应是错误的?

Jas*_*ust 8

成功收到请求响应时没有错误.如果请求本身错误,如果响应表示错误,则仅填充错误对象.从文档中:如果在请求期间遇到任何错误(使用DNS解析,TCP级别错误或实际的HTTP解析错误),则会在返回的请求对象上发出"错误"事件.

请求 - >成功响应(可能代表远程错误) - >已填充响应

请求 - >本地发生错误或与远程通信(无响应或无法识别的响应) - >填充错误