【问题标题】:Nice way to add errors to Bacon EventStream?向 Bacon EventStream 添加错误的好方法?
【发布时间】: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"))

标签: frp bacon.js


【解决方案1】:

你可以直接从flatMap返回Bacon.Error

var streamWithPossibleProblems = bus.flatMap(function(v) {
    if (v == "problem") {
        return new Bacon.Error("Error to be reported later")
    }
    return v
});

【讨论】:

  • 确实更好,并且在 bacon.js 自述文件中也提到过 - 这一定是规范的答案。
猜你喜欢
  • 2015-02-25
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2015-11-02
相关资源
最近更新 更多