Node: http.request()行为在发生错误时
node: http.request() behaviour in case of an error
我观察到http.request()
Node.js API的一些奇怪(至少从我的角度来看)行为。
var req = http.request(options, function (res) {
cb(null, res);
});
req.on("error", function (err) {
cb(err, null);
});
现在请求由于错误(HPE_INVALID_CONSTANT
)而失败,这将导致调用错误回调。然而,http.request()
的回调也被调用。
在我看来,如果有错误就不应该发生这种情况,就像如果有(有效的)响应就不应该有错误一样。它们中只有一个应该被调用——这是我所期望的。在这里,它们都被调用,这导致我的进一步的程序流被调用两次…
是我错过了什么,还是别人也觉得很奇怪?
回调实际上是"response"事件的监听器。因此,如果有响应,它将被调用,即使该响应是否令人满意。
HPE_INVALID_CONSTANT
意味着响应有问题,但实际上是一个响应,因此回调将被执行。
相关文章:
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- spring和angularJS(我得到了类似HTTP状态404的错误)
- $http服务未触发成功或错误回调
- 为什么我在Cloud9中的http请求总是返回错误
- 为什么我的$http.post返回一个400错误
- AngularJS$http.post调用返回502(坏网关)错误
- "所请求的名称已经作为不同类型的“”存在;HTTP 409响应错误
- 岗位http://localhost:3000/api/signup400(错误请求)
- $http GET URL更改并查找错误的资源
- 在AngularJS中使用$http.get检索JSON时出现错误400
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 未捕获的错误: [$injector:modulerr] http ..(使用纯 HTML)
- AngularJS或JQuery解析错误格式的JSON(http get)
- 从 Ajax 获取由 ZombieJS 的异步点击事件触发的 Http 错误
- AngularJs 错误:$http请求虽然在控制器中定义
- GWT应用程序中出现错误HTTP 404(“Script Tag Failure-no status available
- 在openmeetings中上载/共享文件时出现错误HTTP:500
- Angular HTTP GET 与 TypeScript 错误 http.get(..).映射不是 [null] 中的
- browserify 错误:http.createServer 不是一个函数
- 未捕获错误:[$http:badreq] Http 请求配置 url 必须是字符串 (AngularJS)