【发布时间】:2014-11-17 07:39:05
【问题描述】:
我试图找到一个很好的解决方案来将错误添加到 bacon.js EventStream - 并传播它们。这一切都是因为我不想在以后处理多个客户端的错误。我发现了一个带有 flatMap 的 hack,但它是一个 ... hack:
var streamWithPossibleProblems = bus.flatMap(function(v) {
if (v == "problem") {
return Bacon.sequentially(0, [new Bacon.Error("Error to be reported later")])
}
return v
});
【问题讨论】:
-
为什么是
Bacon.sequentially(0,? -
我认为(错误地)我需要在这里返回一个 EventStream 但它似乎足以返回一个原始的 Bacon.Error。
-
哦,那是完全合理的。但我想知道你为什么使用
sequentially,并发送0?只需return Bacon.once(new Bacon.Error("fail"))。