r - 闪亮的应用程序结束后R闪亮的清除全局变量
问题描述
我想在退出闪亮的应用程序后清除定义的全局变量。
我所做的是添加一个onStop
闪亮的server.R
。但它不起作用。
非常感谢你的帮助。
onStop(function(){
rm(list = ls(all.names = TRUE))
})
解决方案
要在应用程序停止时运行代码,您需要提供onStop
作为参数shinyApp
(嵌套在onStart
回调函数中)。
如果您放置onStop
在服务器功能中,它将在会话停止后运行(例如关闭浏览器窗口)。
请检查以下内容以查看差异:
library(shiny)
myGlobalVaribale <- "Some useful global content"
ui <- basicPage(p(myGlobalVaribale),
actionButton("stopSession", "Stop session"),
actionButton("stopApp", "Stop app")
)
server <- function(input, output, session) {
onStop(function() cat("This will run on session stop\n"))
observeEvent(input$stopSession, {
cat(sprintf("Closing session %s\n", session$token))
session$close()
})
observeEvent(input$stopApp, {
cat("Stopping shiny app\n")
stopApp()
})
}
shinyApp(ui, server,
onStart = function() {
cat("This will run on app start\n")
onStop(function() {
cat("This will run on app stop\n")
print(ls(envir = .GlobalEnv))
rm(list = c("myGlobalVaribale"), envir = .GlobalEnv)
print(ls(envir = .GlobalEnv))
})
}
)
推荐阅读
- reactjs - React useState 异步更新和 for 循环
- wordpress - 我安装了 Bitnami,然后安装了 XAMPP 服务器,无法访问 wordpress
- java - 使用 Spring Boot JPA 反序列化 JSON 类 Kotlin 的问题
- mysql - mysql - 加入。仅当所有值都与 where 语句匹配时才显示结果
- python-3.x - 如何关闭 IDLE python?
- python - 使用 os.chmod 更改文件的组权限
- r - 将数据框列表转换为 R 中的平面数据表
- javascript - 写入电子邮件时工作表 api 抓取小指数值(例如 e-13)的问题
- python - 序列搜索期间的正则表达式错误
- excel - 使用单个公式合并到列