R闪亮-如何在不停止应用程序的情况下打破一个圈?
下面的应用程序包含一个R闪亮-如何在不停止应用程序的情况下打破一个圈?,r,shiny,R,Shiny,下面的应用程序包含一个action按钮,单击该按钮时会触发一个lappy。lappy循环通过数字2-4,如果x%%2不是0,则停止。是否可以在不停止主应用程序的情况下中断lappy library(shiny) ui <- fluidPage( actionButton(inputId = "go", label = "Start"), div(id = 'placeholder') ) server <- function(input, output, session)
action按钮
,单击该按钮时会触发一个lappy
。lappy
循环通过数字2-4,如果x%%2不是0,则停止。是否可以在不停止主应用程序的情况下中断lappy
library(shiny)
ui <- fluidPage(
actionButton(inputId = "go", label = "Start"),
div(id = 'placeholder')
)
server <- function(input, output, session) {
observeEvent(input$go, {
lapply(2:4, function(x) {
res = x %% 2
if(res == 0){
return(x)
} else {
insertUI('#placeholder', ui = tags$p('There was an error.'))
stop('Error')
}
})
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
ui根据应用程序中的具体要求,可能您可以使用“正常”循环并使用break
停止循环执行。或者,您可以将其包装在一个try
调用中:
server <- function(input, output, session) {
observeEvent(input$go, {
try(lapply(2:4, function(x) {
res = x %% 2
if(res == 0){
return(x)
} else {
insertUI('#placeholder', ui = tags$p('There was an error.'))
stop('Error')
}
}), silent=T)
})
}
服务器