En stack overflow veo esta possible explicación : -
An eventReactive creates an object that *you* define like reactive does, but with out usual chain-reaction behavior you get from reactive. However it is lazily evaluated and cached like the other reactives. - An observeEvent can not create an object that you define (it creates something else). It is immediately evaluated and not cached. It is for causing side-effects. So if you need a data frame, or vector, or plot or something, but want to decouple from the usual reactive chain-reactions, use eventReactive. If you just want to cause an immediate side effect, observeEvent is your ticket Prueba a usar reactive en lugar de eventReactive y dentro de cada función reactive tomar una dependencia de input$go. El mié., 21 nov. 2018 8:48, Jesús Para Fernández < [email protected]> escribió: > Buenas, > > Estoy intentando que al ejectuar un boton en shiny me cargue de manera > asincrona dos consultas. Una es a una consulta sql pesada (tarda 10 > segundos) y la otra es una sql ligera (tarda 0 segundos). Intento que el > resultado de la consulta ligera se muestre mientras se espera al resulatdo > de la consulta pesada, pero no lo consigo. > > Estoy usando promises con future, en linux, pero no me funciona 🙁 , ya > que me muestra el ersultado del proceso pesado y el ligero solo cuando se > ha ejecutado ya el pesado. > > Para simular las consultas, eh creado la funcion heavyFunction.... Aqui os > pongo mi código. ¿Qué creeis que puede estar pasando? Lo curioso es que si > os fijais en la consola, si que funciona bien. > > library(future) > library(promises) > plan(multiprocess) > > heavyFunction <- function(n){ > Sys.sleep(n) > print(n) > } > > > ui <- fluidPage( > actionButton("go","Show the data"), > textOutput("result0sec"), > textOutput("result10sec") > > ) > > server <- function(input,output,session){ > > > data0 <- eventReactive(input$go,{ > heavyFunction(0) > > > }) > > data10 <- eventReactive(input$go,{ > future(heavyFunction(10)) > > > }) > output$result0sec <- renderText({ > data <- data0() > print(data) > }) > > > output$result10sec <- renderText({ > data <- data10() > data%...>%print() > }) > > > > > } > shinyApp(ui,server) > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
