问题标签 [reactive]

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.

0 投票
1 回答
235 浏览

c# - Rx 中包含历史和实时部分的流上的指标

我的问题是Rx 中 Advanceable 历史流和实时流的扩展

我希望能够使用各种滚动时间范围(每小时、每天等)监控我的流中的变化。如果我的历史数据存在差距,例如在每小时时间范围内,我的数据可以追溯到 30' 之前和 120' 之前,即我缺少 [-120' 到 -30'] 的数据间隔,我想基于 120' 观察的当前变化。到目前为止,我所拥有的代码的问题是上述示例中的更改将基于值 0,因为缺少 -60 观察值。

我不知道如何完成这个,或者是否有一个更清洁、更好的解决方案。

在 LINQPad 中运行它会产生以下结果:

在此处输入图像描述

在“8'滚动差异”表中,上午 1:13:30 的条目应该是 9 而不是 13,因为我希望将在上午 1:13:19 产生的 4 的值包含在计算中区别。

滚动缓冲区的当前版本,或者我为此采取的方法似乎是不够的,它可能会分散我想要实现的目标。我不能使用基于计数的缓冲区,因为如果我的观察中有漏洞,这可能会让我回到过去。例如,如果我在以下示例中使用计数 2,则 10:00:00 滚动差异将使用 x2 – x0,这不是我要找的结果。

我正在寻找的行为是获取当前值与 >= 8'' 之前(8'' 之前或 8'' 之前)的滚动差异。例如

0 投票
0 回答
605 浏览

r - 从反应式表达式调用特定列(R闪亮)

我了解获取空间多边形数据框并使用反应式表达式构建子集的语法。例如,允许滑块作为用户输入来缩小要显示的数据范围:

而且我知道我可以将 final.dat() 指定为后续渲染中的数据:例如 output$map <- renderLeaflet({leaflet(final.dat())})。但是,我正在尝试使用 leafletProxy 来更新我的地图,并且在填充多边形和基于新子集构建新图例时遇到了麻烦。我不能再使用 SPDF@data$column 语法来引用我的空间多边形数据框的所需列,因为它现在是函数 final.dat()。我尝试为 final.dat() 分配一个变量,然后使用 $column 语法,但它出错(参见下面的代码)。我还尝试用 SPDF@data$Column 和 ~Column 替换 SPDF$Column,所有版本都会导致错误。或者地图从不绘制。

错误包括:警告:pal2 中的错误:未使用的参数 (Total_Score) 错误:[on_request_read] 连接被对等方重置

使用反应式表达式并创建函数代替空间多边形数据框后,如何引用列?具体来说,当引用 addPolygon() 中的 fillColor 参数的列和 addLegend() 中的 values 参数时。谁能看到为什么我下面的代码没有生成地图(只是滑块)?非常感谢!

完整代码:

0 投票
2 回答
1412 浏览

r - R闪亮和传单:尝试使用反应式表达式更新空间多边形数据框

我已经为独立工作的输入和传单地图编写了代码,但是当我试图让它们相互依赖时出错。总的来说,我试图允许调整这 4 个滑块以提供“权重”,然后用于计算我的空间多边形数据框中的新字段。然后,我想获取更新后的文件并将其放入 Leaflet。然后我希望能够使用另一个滑块按分数进一步过滤多边形。

我已经按照这个RStudio 教程密切格式化我的代码。基本上,我使用响应式表达式进行计算,将它们定义为变量(例如 NewVar <- reactive({...})),然后尝试在数据参数的后续代码中使用该变量(例如 data = 新变量())。当我这样做时以及当我使用 ~ 引用列时(例如 values = ~Column),我的代码会出错。但是我不能使用 $Column 来引用列,因为它现在是一个函数,而不是空间多边形数据框。我试图通过在反应函数中将函数分配给变量(例如 SPDF <- NewVar())然后使用 values = SPDF$Column 来解决这个问题。这也是错误的(警告:<-中的错误:赋值左侧无效(NULL))和(警告:错误:试图从没有插槽的基本类(“数字”)的对象中获取插槽“数据” )。

我在下面粘贴整个代码。如果有任何突出之处,请告诉我 - 或者帮助我了解如何从对空间多边形数据框进行计算的反应式表达式中正确调用列。

0 投票
2 回答
3346 浏览

forms - Angular2反应形式选择如何设置无效?

我在我的应用程序中使用反应式表单。在某种形式中,我想显示一个必需的(Validators.required)选择,如下所示:

问题是我使用value="undefined"还是value=""表单控件仍然设置为有效,因为它有一个值。不要在中显示value属性结果value="Choose ..."

我是否以错误的方式使用带有反应形式的选择,或者我如何才能使“选择...”选项无效

0 投票
1 回答
5178 浏览

forms - Angular2反应形式选择多个属性?

我在我的应用程序中使用以下代码和反应形式。

如果我取消注释该[multiple]行,则选择 ...选项不会将dformControl表单控件对象设置回 status INVALID

dformControl.multiple顺便返回false。即使我将注释行更改为[multiple]="false",仍然切换回选择 ...选项不会将表单控件状态设置为INVALID

0 投票
1 回答
932 浏览

multithreading - RxJava 在线程方面实际上是如何在内部工作的?

我有使用 RxJava 制作反应式应用程序的经验。但是,我想知道它(以及其他库,如 Spring Reactor)实际上是如何在内部工作的。我似乎无法在网上找到任何有趣的信息,只有典型的简单教程。它如何处理线程等?所有“演员”都在同一个线程上运行吗?或者它是每个“声明”的线程?

0 投票
0 回答
448 浏览

r - 进行下拉选择时,R闪亮图不会改变

一旦从 selectInput 下拉菜单中进行选择,图表中的任何内容都不会发生变化 - 看起来不像输入形式的下拉菜单正在使用或不确定 activeSwitch(activeOnSwitch) 是否正常工作,TIA:

全局.R

服务器.R

用户界面

0 投票
1 回答
1691 浏览

rxjs - 如何仅重试内部可观察的错误?

我有以下示例:

我想要一个 retryWhen ,它只会重试他的直系父母。然后如果出现全局错误,我将重试整个序列。RxJS 5 有简单的方法吗?

UPD:这些只是例子。实际上情况更复杂,我只需要一个想法。

0 投票
1 回答
2119 浏览

r - 访问 reactiveValuesToList 中的 reactiveValues

我不想指定单独的fileInput变量,而是想reactiveValues用来存储上传的 CSV 数据帧,以某种方式操作它们,然后存储它们以供以后访问。我的设计是通过文件名命名每个数据帧并附加到 reactiveValue rvTL。我的问题是,

  • 如何访问我使用创建的列表下的各个数据框reactiveValuesToList(rvTL)
  • 下一步,如何创建一个selectInput菜单来访问由fileInput

为了学习这个概念,我借鉴了 Dean Attali 的答案,并rvTL与他的values变量相同。 R闪亮:如何在每次按下actionButton而不创建新的反应数据框的情况下更新反应数据框?

我已经浏览了许多示例代码reactiveValues,但仍然不完全理解。大多数示例都在 R Shiny 上使用某种变体reactiveValuesToList(input) :在修改选择后保留/保留反应输入的值,我真的没有看到这里的逻辑。任何帮助/建议将不胜感激!

0 投票
1 回答
3806 浏览

java - 了解 Spring 的 Web 响应式框架

我目前正在使用SpringBoot 2、 netty和 jOOQ 上的 spring-boot-starter-webflux开发应用程序。
以下是我经过数小时的研究和 stackoverflow 搜索后得出的代码。我已经建立了很多日志记录,以便查看哪个线程上发生了什么。

用户控制器:

用户服务:

用户道:

代码按预期工作,“接收请求”和“发送响应”都在同一个线程(reactor-http-server-epoll-x)上运行,而阻塞代码(对imUserDao.insertUser(u)的调用)运行在弹性调度程序线程(elastic-x)。事务绑定到调用带注释的方法的线程(即 elastic-x),因此按预期工作(我已经用不同的方法测试了它,这里没有发布,以保持简单)。

这是一个日志示例

我研究响应式编程很长时间了,但从来没有真正编写过任何响应式编程。现在我是,我想知道我是否做得正确。所以这是我的问题:

1.上面的代码是处理传入的HTTP请求,查询DB然后响应的好方法吗?为了我的理智,请忽略我内置的 logger.debug(...) 调用 :) 我有点期望有一个Flux< ImUser>作为控制器方法的参数,从某种意义上说,我有多个潜在请求的流,这些请求将在某个时间点出现,并且都将以相同的方式处理。相反,我发现的示例创建了Mono.from(...); 每次有请求进来。

2.在 UserService 中创建的第二个 Mono ( Mono.just(user) ) 感觉有些别扭。我知道我需要启动一个新流才能在弹性调度程序上运行代码,但是没有操作员可以做到这一点吗?

3.从代码的编写方式,我了解到UserService中的Mono会被阻塞,直到DB操作完成,但服务请求的原始流没有被阻塞。它是否正确?

4.我打算将Schedulers.elastic()替换为可以配置工作线程数量的并行调度程序。这个想法是最大工作线程数应该与最大数据库连接数相同。当 Scheduler 内的所有工作线程都忙时会发生什么?那是背压突然出现的时候吗?

5.我最初希望在我的控制器中包含以下代码:

但我无法做到这一点并让事情在正确的线程中运行。有没有办法在我的代码中实现这一点?

任何帮助将不胜感激。谢谢!