【发布时间】:2019-03-21 12:43:12
【问题描述】:
我试图在observe 中添加一个reactivePoll,因为我需要它在我的应用程序中的一些req 完全填充后才启动(否则它可能会崩溃),然后将它传递给我使用reactiveValues 的会话变量。出于某种原因,每次我在变量中执行更改时,看起来reactivePoll 创建了自己的副本并开始执行超出需要的 checkFunc。最小的例子:
library(shiny)
ui <- fluidPage(selectInput("x", "Change options", c(1, 2)))
server <- function(input, output, session) {
v <- reactiveValues()
observe({
print("obs")
req(input$x)
v$a <- reactivePoll(5000, session,
checkFunc = function() {
print("test")
input$x
}, valueFunc = function() {
print("value")
1
})
print(v$a())
})
}
shinyApp(ui, server)
如您所见,当 selectInput 值改变时,检查函数中的 print 比以前计算 n + 1 次。
【问题讨论】: