【问题标题】:Can I access to session values in onSessionEnded event in shiny?我可以在闪亮的 onSessionEnded 事件中访问会话值吗?
【发布时间】:2018-03-20 20:44:52
【问题描述】:

我可以从 onStop / onSessionEnded 函数访问会话值吗?

onStop(function() {
            cat(file = stderr(), paste(app, session$clientData$url_protocol, sep = ' - '))
        })

该代码给了我这个错误:.getReactiveEnvironment()$currentContext 中的错误:没有活动的反应上下文不允许操作。

有没有办法在这个函数中获取会话值?

如果没有,有办法在会话结束之前执行一个函数吗?

谢谢。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您必须使用isolate 在非响应式上下文中访问reactiveValues(例如session):

    library(shiny)
    
    ui <- fluidPage(
      "Just close app after launch"
    )
    
    server <- function(input, output, session) {
      onStop(fun = function() {
        str(isolate(session$clientData$url_protocol))
      })
    }
    
    shinyApp(ui, server)
    

    【讨论】:

    • 我刚刚意识到,你证实了我的理论^^,谢谢!
    猜你喜欢
    • 2016-03-24
    • 2019-10-10
    • 2010-09-21
    • 1970-01-01
    • 2023-04-05
    • 2015-05-14
    • 2014-12-24
    • 2016-06-05
    • 1970-01-01
    相关资源
    最近更新 更多