javascript - 如何监听 `request.on(' end',` 内发生的错误

标签 javascript node.js

我有这段代码,它从 concat 方法抛出错误:

request.on('end', function (chunk) {
    body = Buffer.concat(body).toString();
});

我想收到有关错误的通知,因此我添加了一个监听器:

request.on('error', function (error) {
    var e = error;
})

但它没有被触发。为什么?如何在不使用 try/catch 的情况下使用 error 事件监听它?

这不是关于为什么我收到错误的问题,这是如何使用 error 事件捕获它的问题

最佳答案

它不会触发,因为触发 error 的事件是 request 对象内部的,而您的问题在另一个范围内。

调用 Buffer.concat 时,您可以使用 try/catch 来代替

request.on('end', function (chunk) {
    try {
      body = Buffer.concat(body).toString();
    } catch (e) {
      // do something with "e"
    }
});

关于javascript - 如何监听 `request.on(' end',` 内发生的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237688/

相关文章:

javascript - 在 Windows 上的 npm 脚本中使用通配符

node.js - 你能用jade只渲染你的html的动态部分...而不弄乱你的html的其余部分吗

javascript - 无法遍历 DOM 来查找相关输入

javascript - Browserify-shim 首先加载

javascript - 如何在 Jquery 中为文档加载后创建的元素绑定(bind)事件?

node.js - 我们如何将参数传递给自定义快速验证器?

Node.js/Express - 如何在 routes/index.js 中获取 app.js 中定义的变量?

javascript - 多段线不显示,当切成较小的线时它确实显示

javascript - Ember - 如何将 this.get ('model' ) 转换为 js 对象

javascript - 如何从 Service Worker 调用缓存的 ManifestEntry Javascript 函数?