【问题标题】:Capture every data that is recorded previously捕获之前记录的所有数据
【发布时间】:2021-07-18 05:24:13
【问题描述】:

我已经构建了一个闪亮的应用程序,它调用 sql 表中的行,如下所示。此代码每 1 秒读取一次。我想检查是否有办法捕获每秒记录的数据。例如,当我打开应用程序时,xnew 读取为 2,下一秒为 6,第三秒为 9。我们是否可以按预期捕获

library(shiny)
library(RODBC)

ui <- fluidPage(
  verbatimTextOutput("nm")
)

server <- function(input, output, session) {
  x <- reactiveVal()
  
  observe({
    invalidateLater(1000,session)
    xnew <- nrow(data.frame(sqlQuery(conn, "select * from ABC")))
    x(c(x(), xnew))
  })
    
  output$nm <- renderPrint({
    x()
  })
}

shinyApp(ui, server)

预期

ColA    ColB
1        2
2        6
3        9

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    我刚试过这个。该应用程序没有返回任何内容

    library(shiny)
    
    ui <- fluidPage(
      verbatimTextOutput("nm")
    )
    
    server <- function(input, output, session) {
      x <- reactiveVal()
      
      observe({
        invalidateLater(1000)
        xnew <- rjson::fromJSON(file = "url")
        x(c(x(), xnew))
      })
        
      output$nm <- renderPrint({
          x()
      })
    }
    
    shinyApp(ui, server)
    

    【讨论】:

    • 这不是答案。你有一个名为"url" 的文件吗?
    • 也可以试试invalidateLater(1000, session)
    • 我编辑了我的问题。基本上它不是 URL,它正在从 sql 表中读取行数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多