AngularJS 是函数式反应式编程吗?
Posted
技术标签:
【中文标题】AngularJS 是函数式反应式编程吗?【英文标题】:Is AngularJS Functional Reactive Programming? 【发布时间】:2013-07-24 15:00:39 【问题描述】:每次看到Functional Reactive Programming这个短语我都意识到我不明白它是什么。然后我回到this question,想我明白它是什么,然后循环重复。
榜样不是另一种教学方式,而是唯一的教学方式-阿尔伯特·爱因斯坦
Angular 是 FRP 的示例/实现吗?为什么或为什么不?
【问题讨论】:
如果这个问题太宽泛,那么我看不出你怎么能问任何关于 FRP 的问题而没有同样的问题。 AngularJS 不是一种编程语言,而是一个框架 :-) 【参考方案1】:我不这么认为。 Angular 与状态密切相关。事实上,如果你观察一个连续函数,你会遇到无限递归,因为状态总是脏的。
为了使连续函数在浏览器中工作,即使状态是脏的,摘要循环也需要停止。在状态不再脏之前,Angular 不会停止。
编辑
Dart 可用于 FRP:http://victorsavkin.com/post/55007674849/functional-reactive-programming-in-dart
【讨论】:
@tietyt 为 FRP 添加了对 Dart 的引用 最好至少为操作澄清一下,尽管 angular.js 可能不是完全基于您的断言的 FRP,但它至少是反应式编程。 我不同意,这么多框架的 something 像 angular.js 这样的响应式毫无意义。【参考方案2】:正如 John Tseng 所回答的,AngularJS 不是 FRP 的示例。但是,您可以通过 angular-bacon 模块将 FRP 与 AngularJS 一起使用。
【讨论】:
以上是关于AngularJS 是函数式反应式编程吗?的主要内容,如果未能解决你的问题,请参考以下文章