gpt4 book ai didi

r - 当用户离开时如何让 R Shiny 继续运行?

转载 作者:行者123 更新时间:2023-12-01 07:20:55 24 4
gpt4 key购买 nike

即使用户离开页面,我如何让 R Shiny 应用程序继续运行?

下面包含一个简化示例,每半秒记录一个数据点。只要查看网页,该应用程序就会添加点数,当用户导航离开(间隙)时停止,如果他们导航回来则继续。有没有办法让它在没有间隙的情况下运行?

wave plot

示例代码:

library(shiny)

starttime<-as.POSIXct(Sys.time())

timeconst=5
time<-as.numeric(difftime( as.POSIXct(Sys.time()),starttime, units="secs"))
mydata<-data.frame(time=Sys.time(), sin( time / timeconst ))

runApp(list(
ui = pageWithSidebar(headerPanel("Sine wave"),NULL,
mainPanel(plotOutput("sinePlot"))),
server =function(input, output, session) {
autoInvalidate <- reactiveTimer(500, session)
output$sinePlot <- renderPlot({
autoInvalidate()
time<-as.numeric(difftime( as.POSIXct(Sys.time()) , starttime, units="secs") )
mydata<<-rbind(mydata,data.frame(time=Sys.time(), sin( time / timeconst )) )
plot(mydata)
})}))

最佳答案

查看 reactiveTimer 的文档.一般行为是您需要一个绑定(bind)到用户 session 的计时器,这样当用户离开时您的应用程序就不会永远代表他们继续工作。

但是,如果您希望计时器在 session 退出后继续运行,请提供 NULLsession reactiveTimer 中的参数.

关于r - 当用户离开时如何让 R Shiny 继续运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com