【发布时间】:2020-01-04 14:43:46
【问题描述】:
我正在尝试使用多种方法进行服务 - 每个方法都将返回管道。一次只能调用一个方法;否则,应该发生管道的切换。
这是我如何实现它的一个例子——https://stackblitz.com/edit/rxjs-3pry8u?devtoolsheight=60。它看起来太复杂并且有潜在的内存泄漏,但它确实有效。如果你尝试快速点击“Make red”/“Make green”/“Make blue”按钮,只会触发最后一个(参见 console.log)。
根据要求 - 控制管道在 Color 内部运行很重要,而不是在外部运行。我可以想象如何通过外部方式解决它:我可以将所有点击事件合并到一个管道并使用 switchMap()。但对我来说很有趣 - 如何在 Color 类中正确解决这个问题。
【问题讨论】: