当Mongoose QueryStream发出错误事件时,流的状态是什么?

时间:2013-07-31 23:18:27

标签: javascript node.js mongodb mongoose

我正在通过mongoose向我的数据库打开一个流,并想知道当它发出错误事件时流的状态是什么?这是否意味着正在流式传输的单个文档出现错误,并且流将继续管道数据?或者它是否意味着整个流有错误,流现在已损坏/关闭?

以下是来自Mongoose'docs的示例代码:

var stream = Model.find().stream();

stream.on('data', function (doc) {
  // do something with the mongoose document
}).on('error', function (err) {
  // What state is the stream here?????
}).on('close', function () {
  // the stream is closed
});

1 个答案:

答案 0 :(得分:0)

对于Streams一般来说,'error'事件通常意味着该流已停止,不会再发出'data'

发出'error'通常相当于throw statement,这会破坏申请流程。而且,与try...catch类似,.on('error')回调是处理错误的一种方式。

使用Domains'error'甚至可能由throw触发。