0

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

这是来自 Mongoose 文档的示例代码:

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
});
4

1 回答 1

0

一般来说,对于Streams,一个'error'事件通常意味着流已经停止并且不会再发射了'data'

发出 an'error'通常相当于一个throwstatement,它会破坏应用程序流程。而且,与 a 类似try...catch.on('error')回调是一种处理错误的方法。

使用Domains'error'甚至可能已由throw.

于 2013-08-01T01:06:28.800 回答