Скажем, у меня есть блестящее приложение, которое имеет функцию, которая может занять много времени. Возможно ли иметь кнопку "Стоп", которая сообщает R, чтобы остановить долговременный вызов, не останавливая приложение?
Пример того, что я имею в виду:
analyze <- function() {
lapply(1:5, function(x) { cat(x); Sys.sleep(1) })
}
runApp(shinyApp(
ui = fluidPage(
actionButton("analyze", "Analyze", class = "btn-primary"),
actionButton("stop", "Stop")
),
server = function(input, output, session) {
observeEvent(input$analyze, {
analyze()
})
observeEvent(input$stop, {
# stop the slow analyze() function
})
}
))