问题标签 [rxjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - toObservable 的替代方案是什么?
我正在尝试使用 RxJS,但我得到的例子有点老了。我需要运行的代码是这样的:
但toObservable
已被删除。我的研究没有帮助。我什至发现这篇文章要求toObservable
退货,但没有解释替代方案。
https://github.com/Reactive-Extensions/rxjs-jquery/issues/4
有谁知道替代品是toObservable
什么?
node.js - Reactive-Extensions / RxJS 对 node.js 的实现
我只是想实现
https://github.com/Reactive-Extensions/RxJS
到我的节点项目。
当然,有可用的 npm-package,但我看到它更新较少,模块较少,并且只使用了 min. 文件,所以我想使用来自 git 源的 rxjs。
我下载了 RxJS-master 并将目录下的整个文件复制到 ../myProject/lib/rx/
我懂了
这些文件中的rx.node.js
所以,我的 app.js代码是这样的
这会产生如下错误,
怎么了?
如果我将 rx.node.js修改为
代码按预期工作,因此显然require - sub modules部分进展不顺利。
谢谢。
javascript - 如何用 RxJS 判断一个 Observable 是否正在“等待”另一个(例如,对于 Ajax 请求指示器)
在学习 RxJS 时,我想知道:
如何创建一个告诉 Observable X 在 Observable Y 之后是否有价值的 Observable?
示例需要判断是否有 Ajax 请求待处理响应?就像等待Bacon.js一样。
javascript - 如何在 RxJS 中通过订阅获得类似 Promise 的模式?
我试图弄清楚 RxJS 中的任何现有运算符是否可以实现以下操作,或者我是否需要推出自己的扩展:
最好的,埃吉尔。
javascript - 使用 RxJS 缓冲/限制元素拖动事件
当某些事情发生在连续的事件源(拖动元素)上时,我想实现一个场景 - 但有一些缓冲/节流。我想收到通知让我们说
- 每 400 毫秒
- 但前提是源中有新项目(实际发生了拖动)
我与下面概述的节流操作符最接近的想法只是等待 400 毫秒的暂停,然后提供序列 - 它不提供连续拖动的值:
我想需要一些定时器源,但在这种情况下,我如何将定时器源和拖动源与上述标准结合起来?
rxjs - Observable.create 和 Observable.createWithDisposable 之间的区别
Observable.create
和 和有什么不一样Observable.createWithDisposable
?我看不到文档或查看源代码的区别。
rxjs - 不假定您熟悉响应式编程概念或 Rx .NET 的 RxJS 教程?
我试图了解 RxJS 的工作原理以及它是否适合我的需要,但我遇到的每一篇文章都假设读者已经熟悉反应式编程概念或了解 .NET 版本。
有没有针对普通 JavaScript 开发人员的材料?
reactive-programming - 将可观察序列转换为仅从最近的可观察序列产生值的可观察序列
示例 1:
obsContext
是一个 observable,它将从obsText1
或返回数据obsText2
,具体取决于 的值obsNumber
。
示例 2:
obsSelect
是一个可观察对象,它将从arrOfObservables
由 . 生成的值确定的数组中返回所选可观察对象的数据obsNumber
。
我无法弄清楚如何使用 RxJS 来指定这种行为。在我看来,我需要能够在多个可观察对象之间动态订阅/取消订阅。
如何使用 RxJS 使这两个示例工作?
reactive-programming - 捕获可观察对象之间的循环依赖
我有一个用户编程场景,用户最终可以创建两个相互依赖的 observables。RxJS 不允许循环依赖,据我所知,内存或堆栈达到了它的限制,并且onError
使用 value 触发回调true
。
如何显式检测循环依赖并抛出更具描述性的错误消息?
这段代码说明了如何在 RxJS 中创建循环依赖:
错误信息很简单true
。
functional-programming - node.js fs.readdir 异步递归目录搜索的懒惰评估/流/FRP代码
我尝试使用 node.js 实现一个读取 FileSystem 目录树的列表结构
目录/文件结构:
-> 列表结构:
因此,例如,给定的 UNIX 根目录:
相当于一个列表:
话虽如此,我想用一些惰性异步序列(流/无限列表?)来实现这段代码。
node.js fs.readdir 递归目录搜索 是一个很好的参考。
node.js 有很多优秀的库,例如file.walk等,但这是一个非常有趣的主题,实际上存在很多代码示例。
换句话说,学习惰性异步序列(流/无限列表?)的基本概念的好主题,并且代码可以是一个很好的库,我想从头开始实现。
substack/stream-handbook涵盖了如何使用流编写 node.js 程序的基础知识。真正优秀的文章。
所以,这是我对这个主题的想法 - 递归目录树处理:
本主题涉及递归搜索,有两种方式:async和sync,由于各种原因,我选择了async方法。
搜索结果相当于一个列表结构,其中函数式编程 范式确实很重要(Lisp/Scheme)。
对于 JavaScript 函数式编程,有诸如underscore.js之类的库,最近,lazy.js有一个重要区别:惰性求值(也称为延迟执行)似乎优于 underscore.js。
lazy.js 也在 Node.js 中封装了流处理。我还发现stream.js说:无限数量的元素。他们的力量来自于被懒惰的评估,简单来说就是他们可以包含无限的物品。.
流数据(无限列表)实现反应式函数式编程(FRP)范式。lazy.js 实际上演示了一个鼠标事件 FRP 实现。RxJS是一个 FRP 库:RxJS 或 Reactive Extensions for JavaScript 是一个用于转换、组合和查询数据流的库。
此主题的异步方法是FRP主题。
因此,惰性求值是函数式编程更快处理列表的核心因素,并将列表扩展为无限列表(流),将异步/事件集成到流数据源以在函数式编程范式(FunctionalReactiveProgramming)中进行处理。
node-lazy简介明确指出:当您需要将事件流视为列表时,Lazy 非常方便。目前最好的用例是从异步函数返回一个惰性列表,并通过事件将数据泵入其中。在异步编程中,您不能只返回一个常规列表,因为您还没有数据。到目前为止,通常的解决方案是提供一个在数据可用时调用的回调。但是这样做会失去链接函数和创建管道的能力,这会导致接口不那么好。(请参阅下面的第二个示例,了解它如何改进我的一个模块中的界面。)
最后,这是我关于这个主题的问题 - 递归目录树处理:
是否有任何示例代码可以专门以惰性评估或 FRP 方式实现此主题?
我知道lazy.js、stream.js 或linq.js 是基于惰性评估的,但它们中的任何一个都不能将node.js fs.readdir 定义为异步处理(FRP)的流数据。根据http://danieltao.com/lazy.js/docs/AsyncSequence.html,它还没有实现,对吗?
RxJS可能可以,但我不知道如何。
谷歌rx.Observable fs.readdir什么也没打。
有任何想法吗?