Questions tagged «reactive-programming»

响应式编程是一种围绕数据流和变更传播的编程范例。

18
什么是(功能性)反应式编程?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我已经阅读了有关反应式编程的Wikipedia文章。我还阅读了有关函数式反应式编程的小文章。描述非常抽象。 函数式反应式编程(FRP)在实践中意味着什么? 反应式编程(与非反应式编程相对)由什么组成? 我的背景是使用命令式/ OO语言的,因此希望了解与该范例有关的解释。

1
ReactiveCocoa vs RxSwift-优缺点?
因此,现在借助Swift,ReactiveCocoa人们已经在3.0版中对其进行了重写,以实现迅速 另外,还有另一个名为RxSwift的项目。 我想知道人们是否可以添加有关这两个框架在设计/ api /哲学上的差异的信息(请以SO的精神,坚持做对的事情,而不是对“最好的”观点) [关于StackOverflow mod的说明:这个问题确实有明确的答案,答案是两个框架之间的差异。我认为,SO也很受关注] 首先,通过阅读自述文件给我的第一印象是: 作为熟悉Microsoft的“真实” C#Rx的人,RxSwift看起来更加知名。 ReactiveCococa似乎已经进入了自己的空间,引入了诸如Signals vs SignalProducers和Lifting之类的新抽象。一方面,这似乎可以澄清某些情况(什么是热信号还是冷信号),但另一方面,这似乎增加了很多框架的复杂性。


2
RxJS:我将如何“手动”更新Observable?
我认为我一定会误解一些基本知识,因为在我看来,这应该是最基本的情况,但是对于我的一生,我无法从文档中弄清楚该如何做。 基本上,我希望能够做到这一点: // create a dummy observable, which I would update manually var eventObservable = rx.Observable.create(function(observer){}); var observer = eventObservable.subscribe( function(x){ console.log('next: ' + x); } ... var my_function = function(){ eventObservable.push('foo'); //'push' adds an event to the datastream, the observer gets it and prints // next: foo } 但是我一直无法找到类似的方法push。我正在使用它作为单击处理程序,我知道他们有Observable.fromEvent这个功能,但是我正在尝试将它与React一起使用,我希望能够简单地在回调中更新数据流,而不是使用完全不同的方法事件处理系统。所以基本上我想要这个: …

7
为什么要在Redux-Saga上使用Redux-Observable?
我用过Redux-Saga。到目前为止,用它编写的代码很容易推理,除了JS生成器功能不时使我头晕。据我了解,Redux-Observable可以完成类似的处理副作用的工作,但无需使用生成器功能。 但是,来自Redux-Observable的文档并没有提供很多关于为什么它比Redux-Saga优越的意见。我想知道是否不使用生成器功能是使用Redux-Observable的唯一好处。使用Redux-Observable而不是Redux-Saga可能带来什么弊端,陷阱或妥协?提前致谢。

6
Angular中的Subject vs BehaviorSubject vs ReplaySubject
我一直想了解那些3: 主题,行为主题和重播主题。我想使用它们,并且知道何时以及为什么使用它们的好处是什么,尽管我已经阅读了文档,观看了教程并搜索了google,但我对此一无所知。 那么他们的目的是什么?最好是一个真实的案例,它甚至不必编写代码。 我希望给出一个清晰的解释,而不仅仅是“ a + b => c您已订阅...。” 谢谢

8
什么是“回调地狱”,RX如何以及为什么解决它?
有人可以给出一个清晰的定义,以及一个简单的示例,为不懂JavaScript和node.js的人解释什么是“回调地狱”吗? 什么时候(以哪种设置)发生“回调地狱问题”? 为什么会发生? “回调地狱”是否总是与异步计算相关? 还是在单线程应用程序中也可能发生“回调地狱”? 我在Coursera参加了“反应式课程”,Erik Meijer在他的一次演讲中说RX解决了“回调地狱”的问题。我在Coursera论坛上问什么是“回调地狱”,但我没有明确的答案。 在一个简单的示例上解释了“回调地狱”之后,您还可以说明该简单示例上的RX如何解决“回调地狱问题”吗?

8
合并一个Observables列表,直到所有完成为止
TL; DR 如何转换Task.whenAll(List<Task>)成RxJava? 我现有的代码使用Bolts构建了一系列异步任务,并等待所有这些任务完成后再执行其他步骤。本质上,按照Bolts站点上的示例,它会构建aList<Task>并返回一个列表,当列表中的所有任务Task完成时,将其标记为已完成。 我正在寻找替换方法Bolts,RxJava并且我假设这种方法可以构建异步任务列表(大小未知)并将它们全部包装为一个Observable,但是我不知道如何做。 我试着看merge,zip,concat等...但不能去工作的List<Observable>,我会被建立,因为他们似乎都面向工作的只有两个Observables,如果我理解正确的文档在一个时间。 我正在尝试学习RxJava,但仍然很陌生,因此,如果这是一个明显的问题或在文档中的某个地方进行了说明,请原谅我;我尝试搜寻。任何帮助将非常感激。

3
当前的功能性反应式编程实现的状态如何?
我正在尝试可视化Haskell中的一些简单的自动物理系统(如摆锤,机器人手臂等)。通常,这些系统可用方程式来描述 df/dt = c*f(t) + u(t) 其中u(t)代表某种“智能控制”。这些系统看起来非常适合于功能性反应式编程范例。 因此,我抓住了保罗·休达(Paul Hudak)的著作《 The Haskell School of Expression》,发现那里展示的领域特定语言“ FAL”(用于功能动画语言)实际上对我的简单玩具系统非常满意(尽管有些功能值得注意integrate,似乎对于有效使用而言有点懒惰,但很容易修复)。 我的问题是,对于当今更高级甚至是实际的应用程序,最成熟,最新,维护良好,性能调整的替代方案是什么? 该Wiki页面列出了Haskell的几个选项,但是我不清楚以下方面: Conal Eliott的项目(据我所知)是这种编程范例的发明者之一,它的“反应性”状态看起来有些陈旧。我喜欢他的代码,但也许我应该尝试其他更多的替代方法?就语法/性能/运行时稳定性而言,它们之间的主要区别是什么? 引用2011年的一项调查的第6节,“ ... FRP实施在性能上仍然不够有效或可预测,无法在需要延迟保证的域中有效使用... ”。尽管该调查建议了一些有趣的可能的优化方法,但考虑到FRP已经存在了15年以上,我给人的印象是,至少在几年内,此性能问题可能非常或什至固有地很难解决。这是真的? 调查的同一位作者在他的博客中谈论“时间泄漏” 。问题是FRP特有的,还是使用纯非严格语言进行编程时通常遇到的问题?您是否发现过长时间稳定基于FRP的系统太难了吗? 这仍然是研究水平的项目吗?诸如工厂工程师,机器人工程师,财务工程师等人员实际上是否正在使用它们(以适合他们需求的任何语言)? 尽管我个人更喜欢Haskell实现,但我愿意接受其他建议。例如,拥有一个Erlang实现会特别有趣---那么拥有一个智能的,自适应的,自学习的服务器进程将非常容易!



3
如何从angular2中的可观察数据中获取数据
我正在尝试打印使用中的http通话结果Angularrxjs 考虑以下代码 import { Component, Injectable, OnInit } from '@angular/core'; import { Http, HTTP_PROVIDERS } from '@angular/http'; import 'rxjs/Rx'; @Injectable() class myHTTPService { constructor(private http: Http) {} configEndPoint: string = '/my_url/get_config'; getConfig() { return this.http .get(this.configEndPoint) .map(res => res.json()); } } @Component({ selector: 'my-app', templateUrl: './myTemplate', providers: [HTTP_PROVIDERS, myHTTPService], }) …

5
闪亮:observeEvent和eventReactive有什么区别?
现在我几次读到反应式编程的闪亮的文档,但我不能正确理解之间的差异observeEvent和eventReactive。 该文档说: 每当您想执行响应事件的操作时,请使用observeEvent。(请注意,“重新计算值”通常不算是执行操作-有关此信息,请参见eventReactive。) .... 使用eventReactive创建仅响应事件而更新的计算值。这就像一个普通的反应式表达式,只是它忽略了来自其反应式依赖关系的所有常规失效。 在所有尝试的情况下,我都看不到使用observeEvent和之间的区别eventReactive(无论我使用什么功能,代码都可以正常工作,并且对性能没有明显影响)。 您能帮我弄清楚两者的真正区别是什么?理想情况下,我想举几个例子说明它们何时可以互换,一个何时observeEvent可以工作,但不可以eventReactive,反之亦然。


7
如何在RxJS中“等待”两个可观察对象
在我的应用程序中,我有类似以下内容: this._personService.getName(id) .concat(this._documentService.getDocument()) .subscribe((response) => { console.log(response) this.showForm() }); //Output: // [getnameResult] // [getDocumentResult] // I want: // [getnameResult][getDocumentResult] 然后我得到两个分开的结果,首先是_personService,然后是_documentService。如何在调用this.showForm()完成之前等待两个结果,然后操纵每个结果。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.