Блестящий: дождитесь функции, пока пользователь не перестанет печатать

У меня есть пользователи, вызывающие функции при наборе текста. Проблема в том, что он делает вызов для каждой набираемой буквы, и отображается ошибка, если текстовое поле пусто даже в течение 1 мс.

Warning: Error in twInterfaceObj$doAPICall: Forbidden (HTTP 403).

Как я могу изменить это, чтобы вызвать функцию только через 400 мс после последней набранной буквы?

Вот мой блестящий код:

ui.R

shinyUI(fluidPage(
    # Sidebar with a slider input for number of bins 
    sidebarLayout(
        sidebarPanel(
            textInput("new_hashtag", label = h4("Enter #Hashtag"), value = "#hello")
        )
    ),
    mainPanel(
        DT::dataTableOutput('mytable1')
    )
))

сервер.R

shinyServer(function(input, output, session) {
    output$mytable1 <- DT::renderDataTable({
        df <- searchTwitter(as.character(input$new_hashtag)
        DT::datatable(twListToDF(df))
    })        
})

person Lok    schedule 19.06.2017    source источник
comment
У вас есть 2 разных варианта: 1) Заставить пользователя нажать кнопку отправки, 2) Обновить JavaScript для прослушивания Enter или паузы между нажатиями клавиш. Второй вариант более удобен для пользователя, но вам потребуются дополнительные знания JavaScript.   -  person Steven M. Mortimer    schedule 19.06.2017
comment
Да, это может быть один из вариантов, но я также ищу что-то в R, что может мне в этом помочь.   -  person Lok    schedule 19.06.2017
comment
См. это. Debounce может быть именно тем, что вы ищете.   -  person SBista    schedule 23.06.2017