我试图找到一个很好的解决方案,用于向 bacon.js EventStream添加错误 - 并传播它们。这一切都是因为我以后可能会在多个客户端处理错误。我发现了flatMap的黑客攻击,但它是......黑客攻击:
var streamWithPossibleProblems = bus.flatMap(function(v) {
if (v == "problem") {
return Bacon.sequentially(0, [new Bacon.Error("Error to be reported later")])
}
return v
});
答案 0 :(得分:2)
您可以直接从flatMap
返回Bacon.Error
:
var streamWithPossibleProblems = bus.flatMap(function(v) {
if (v == "problem") {
return new Bacon.Error("Error to be reported later")
}
return v
});