我正在通过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
});
答案 0 :(得分:0)
对于Streams一般来说,'error'
事件通常意味着该流已停止,不会再发出'data'
。
发出'error'
通常相当于throw
statement,这会破坏申请流程。而且,与try...catch
类似,.on('error')
回调是处理错误的一种方式。
使用Domains,'error'
甚至可能由throw
触发。