我不明白去抖效果如何

时间:2017-11-06 23:20:45

标签: r shiny

从下面的例子中,我希望用户输入的显示只能每2秒(2000毫秒)更新一次。但事实并非如此,它的更新速度与我不包含辩论声明的时间一样快。

if (interactive()) {
      options(device.ask.default = FALSE)

ui <- fluidPage(
      textInput(inputId = "text",
                label = "To see how quickly..."),
      textOutput(outputId = "text")
)

server <- function(input, output, session) {
      text_input <- reactive({
            input$text
      })

      debounce(text_input, 2000)

      output$text <- renderText({
            text_input()
      })
}
shinyApp(ui, server)
}

1 个答案:

答案 0 :(得分:2)

您必须分配debounce()来电的结果并在输出中使用该结果:

server <- function(input, output, session) {
    text_input <- reactive({
        input$text
    })

    text_d <- debounce(text_input, 2000)

    output$text <- renderText({
        text_d()
    })
}