我可以从onStop / onSessionEnded函数访问会话值吗?
onStop(function() {
cat(file = stderr(), paste(app, session$clientData$url_protocol, sep = ' - '))
})
该代码给出了这个错误: .getReactiveEnvironment()中的错误$ currentContext:没有活动的响应上下文时不允许操作。
有一种方法可以在这个函数中获取会话值吗?
如果没有,有一种方法可以在会话结束前执行一个功能吗?
感谢。
答案 0 :(得分:4)
您必须使用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)