Привет, я хотел бы послать "ложное" обновление ввода со стороны сервера ПОСЛЕ некоторых вычислений. Другими словами, я хотел бы контролировать порядок распространения выходных обновлений.
Например, в приведенном ниже скрипте мне нужно обновить output $ text после Sys.sleep во 2-м ObservationEvent:
library(shiny)
ui <- fluidPage(
titlePanel("PLOP"),
sidebarLayout(
sidebarPanel(
selectInput("variable", "Variable:",
c("Cylinders" = "cyl",
"Transmission" = "am",
"Gears" = "gear")),
actionButton("press","press")
),
mainPanel(
textOutput("text")
)
)
)
server <- function(input, output) {
output$text <- renderText({
input$press
message("rendertext at ",Sys.time())
paste(input$variable,Sys.time())})
observeEvent(input$variable,
message("variable is edited at ",Sys.time())
)
observeEvent(input$press,{
message("button is presed at ",Sys.time())
# lot of stuff
Sys.sleep(2)
message("end calculation at ",Sys.time())
# AND NOW I would like to send a "false" input$variable update
# I dont want to change input$variable, but I need to rerun everything which use input$variable
# ( .... ) for example : changing output$text but AFTER the Sys.sleep call
})
}
# Run the application
shinyApp(ui = ui, server = server)
большое спасибо