问题标签 [rxcpp]
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.
c++ - RxCPP 的行为与 Rx.Net 不同
我正在使用 RxCPP 并且很难理解它的行为。
这里有两个程序,一个在 Rx.Net 中,另一个在 RxCPP 中。他们假设输出相同的打印,但事实并非如此。
该程序从鼠标流中获取点,并计算点之间的增量流。
鼠标是一连串的点,每一笔 - 从下到上按都是一个流。鼠标一个接一个地给出这样的流。
在这些测试中,预期的输出是:
Delta no 0 是:0,0
Delta no 1 是:5,0
Delta no 2 是:0,5
Delta no 3 是:2,3
这是 Rx.Net 输出的。
Rx.Cpp 仅输出第一行:Delta no 0 is: 0,0
知道吗?
Rx.Cpp 示例:
Rx.Net 示例:
c++ - RxCpp RAII 可观察订阅
我在模型视图设置中使用 RxCpp。视图更新方法订阅了一个可观察对象(通过 lambda 捕获this
)。如果订阅比视图实例寿命更长,则会出现未定义的内存访问。我不希望订阅使视图保持活力。因此,我需要订阅在视图的析构函数上确定地结束。这听起来像是 RAII 的案例。
这会很危险吗?它是否以某种方式滥用了rx?我读过喜欢take_until
在类似的设置。为什么会更好,如何在这里使用它?
谢谢!
c++ - 将 RxCpp 添加到 C++ Bazel 项目
我目前正在尝试编译一个简单的 c++ 示例项目,然后将 rxcpp 包含到我的主项目中,但是,我遇到了找不到 rxcpp 库的困难。
所有文件都在同一个目录中。
工作站规格:
- Bazel 版本:0.11.1-homebrew
- macOS:10.13.3
- Clang:Apple LLVM 版本 9.0.0 (clang-900.0.39.2) ;目标:x86_64-apple-darwin17.4.0
主文件
Bazel 工作区文件写为
其中 BUILD.rxcpp 写为
Bazel 项目 BUILD 文件写为
跑步
回来:
我希望在当前目录中的 bazel-out/darwin-dbg/bin/external/RxCpp 下找到 rxcpp 库,但事实并非如此。
[编辑]
构建目录的输出如下:
c++ - 在 rxcpp 中创建自定义运算符
我正在尝试学习如何在 rxcpp 中创建自定义运算符,并且我能够创建位于此处的运算符。但是,我想了解如何创建更多通用运算符,实现rxo::operator_base并使用提升运算符。是否有任何文档可以通过一些简单的示例来学习这一点?
qt - 如何连接两个返回可观察对象的函数?
我写了一个函数,它返回一对QDateTime
可观察的,就像这个:
因此,使用此功能,我可以订阅 a 轴上日期范围的更改QChart
。
我还写了另一个函数,给定两个日期,返回一个带有来自 sqlite db 的值的 observable,如下所示
如何在 RxCpp 中以惯用的形式将第一个函数(两个日期)的值作为输入传递给第二个函数?在管道结束时,我可以根据输入日期订阅来自数据库的值吗?
c++11 - cpp 反应式扩展中的编译错误
我遇到了一个关于rxcpp
. 捕获rxcpp::connectable_observable
变量并调用它的连接方法时,出现如下编译错误。
问题代码如下所示。
我尝试了 2 种方法来通过编译
1. 注释“o.connect()”
1. 将变量 o 转换为静态变量,因此不需要捕获 o。代码如下所示
您能告诉我为什么会出现编译错误以及如何解决吗?
谢谢!
c++ - 如何使用 RxCpp 创建 ReplaySubject?
在我的 c++ 项目中,我需要创建具有初始值的主题,该初始值可能会被更新。在每次订阅/更新时,订阅者可能会触发数据处理......在之前的 Angular (RxJS) 项目中,这种行为是使用 ReplaySubject(1) 处理的。
我无法使用c++ rxcpp lib
.
我查找了文档、片段、教程,但没有成功。
预期的伪代码(打字稿):
c++ - ReactiveX (rx) - 在对象上应用 observable 而不是在 observable 中创建对象
所以我尝试将 ReactiveX 理解为一个库已经有一段时间了,我相信我已经开始掌握基础知识了,但是,我遇到了一个问题,我在文档中找不到解决方案...
tldr:我想将一个可观察对象连接到一个类而不实际在可观察 lambda 中创建类,或者在可观察对象中创建类,然后能够提取该类。最后,我想要以某种方式或形式制作一个类的可观察对象,然后能够在可观察对象范围之外使用该类。
情况: 我有三层类,我有 A、B 和 C 类,其中 A 在所有 B 中都成立,后来所有 B 在多个 C 中成立。B 类和 C 类都可能存在于多个实例中(A 总是只有一个实例)。
问题: 所以在我的应用程序中,A 类将创建 C 的一个实例,并使用 Rx 使其可观察。当 C 被实例化并准备好时,我想获取该类并将其传递给 B 实例之一。但是,我的问题是,由于我需要在 observable create 方法中的 lambda 中创建 C 类,因此我实际上无法对新的 C 类做任何事情,它只存在于 lambda 范围内。所以我想要做的是将 C 的引用传递给 observable 并将其提供给订阅者,或者以某种方式从 observable lambda 中返回 C 实例。我尝试给 lambda 一个指向我的类的指针并使 lambda 可变,但是当这样做时,rx 给了我编译错误并抱怨 Rx 方法是 const。
我尝试像这样传递它但没有成功
是否存在任何其他方法来完成我想要的,或者我只是在这里误解了某些东西的概念?
c++ - 如何在可观察对象列表上使用 RxCpp 运算符?
我想在 RxCpp observables 的列表/数组上使用 zip 运算符,但 RxCpp 运算符只接受可变参数,并且我的列表的大小是动态的(在运行时已知)。
有没有办法在 observables 列表中使用这些运算符?提前致谢。