NodeJS - 具有空数据的流。怎么处理?

时间:2014-08-21 04:41:25

标签: node.js stream

我有一些像这样的代码:

var readImage = function(snapshot) {
  var s = new cv.ImageDataStream()
  var p = new Promise(function(resolve, reject) {
    s.on("load", function(matrix) {
      resolve(matrix);
    });
  })
  snapshot.pipe(s);
  return p;
};    

cv是node-opencv。不幸的是,它调用了一些C ++,如果收到的数据为空或无效,则会失败。它只是爆炸(没有异常处理)。有没有办法可以将snapshot流解析为缓冲区或其他内容,检查它的内容,然后将其转换回流并将其重新导入cv

1 个答案:

答案 0 :(得分:0)

我相信如果你正在监听流上的错误,它不会引发异常并改为调用你的回调。

尝试......

s.on('error', function(e) {
    // handle e
})

...防止抛出异常。