You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js:如何在close监听器中打印更多错误信息?

解决HTTP请求close事件仅输出true的问题
  • 问题核心:close事件的回调参数had_error只是布尔值,仅能标识连接关闭时是否出错,无法提供具体错误详情。

  • 具体实现方案:

    1. 先监听HTTP请求的error事件,捕获并保存具体错误信息:
      // 给请求对象绑定error事件,存储错误信息
      request.on('error', function(err) {
        request._reqError = err;
      });
      
    2. 修改close事件的回调逻辑,读取已保存的错误信息并打印:
      request.connection.addListener('close', function(had_error) {
        if (had_error && request._reqError) {
          console.log('连接关闭时的错误详情:', request._reqError);
          console.log('错误消息:', request._reqError.message);
          console.log('错误堆栈:', request._reqError.stack);
        } else {
          console.log(had_error ? '连接异常关闭但未捕获到具体错误' : '连接正常关闭');
        }
      });
      
  • 逻辑说明:HTTP请求发生错误时,会先触发error事件,之后才会触发close事件。通过在error事件中缓存错误对象,就能在close事件中获取到完整的错误信息,而非仅布尔值。

内容的提问来源于stack exchange,提问作者user180574

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:42:06