Можно ли остановить выполнение кода R внутри блеска (без остановки процесса блеска)?

Допустим, у меня есть блестящее приложение, которое имеет функцию, запуск которой может занять много времени. Возможно ли иметь кнопку «Стоп», которая говорит 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
    })
  }
))

редактировать:кс-пост от блестящего обсуждения

Ответы на вопрос(5)

Ваш ответ на вопрос