如何在observeEvent()Shiny R中停止暂停执行

时间:2017-08-22 10:25:14

标签: r shiny

我刚接触到闪亮的R ......这是我的代码......

ui.R

library(shiny)
fluidPage(mainPanel(actionButton("run","RUN")))

server.R

function(input, output) {
  observeEvent(input$run,{
                print("Start")
                Sys.sleep(2)
                print("End")})
}

问题是......当我在控制台打印之前按下运行"结束" ....它会在上一次observeEvent结束后再次开始执行observeEvent ...有没有办法停止流水线操作observeEvent队列?????

我想要的就是停止用户在'运行'功能已经执行时按钮...

1 个答案:

答案 0 :(得分:1)

经过一番搜索,我终于得到了解决方案....这解决了我的目的......

ui.R

library(shiny)
library(shinyjs)
fluidPage(shinyjs::useShinyjs(),mainPanel(actionButton("run","RUN")))

server.R

function(input, output) {
  observeEvent(input$run,{
    shinyjs::disable("run")
                print("Start")
                Sys.sleep(2)
                print("End")
                shinyjs::enable("run")})
}