在将Clojure的core.async与所谓的Reactive Extensions (Rx)和FRP进行比较时,我似乎有点困惑。 他们似乎也在处理类似的asynchronous性问题,所以我想知道主要的区别是什么,在哪些情况下,哪一个更受欢迎。 有人可以解释吗? 编辑:为了鼓励更深入的答案我想提出更具体的问题: Core.async允许我编写同步代码。 但据我了解,FRP只需要一层嵌套的callback(处理逻辑的所有函数都作为parameter passing给FRP API)。 似乎这两种方法都不需要callback金字塔 。 的确,在JS中我必须多次编写function() {…} ,但是主要的问题, 嵌套的callback函数在FRP中也没有了。 我得到它的权利? “ FRP与控制stream程完成消息的交stream”您能(某人)给出一个更具体的解释吗? 难道我不能像我通过频道那样通过玻璃钢的可观察端点吗? 总的来说,我明白这两种方法在历史上来自哪里,而且我也尝试过两种教程。 不过,我似乎被不明显的差异“瘫痪”了。 是否有一些代码很难用其中一种编写代码,而使用其他代码 ? 那build筑原因是什么?