我希望两个独立选项卡中的两个功能能够独立运行,但现在一个必须等待另一个完成。
我正在编写一个有2个选项卡的闪亮应用程序,一个进行计算通常需要5-10分钟,另一个用于查询以前完成的计算。
ui <- navbarPage(
tabPanel("New Input",
useShinyjs(),
sidebarLayout(
...some input parameters...
actionButton('submit', 'submit'),
downloadButton('download', 'download'),
verbatimTextOutput("output"),
)
)
), #end of new input tab
tabPanel("Query",
textInput('query_existing', "Enter Query ID"),
verbatimTextOutput('query_existing'),
verbatimTextOutput('query_result'),
actionButton('query', 'query'),
) #end of query tab
)
服务器:
server <- function(input,output,session){
#new input tab
calculation <- eventReactive(input$submit, {
#some calculation that writes a file
})
output$output <- renderText({calculation()})
#Query Tab
my_query <- eventReactive(input$query, {
query_id <- input$query_existing
query_file <- paste(query_id, 'zip', sep='.')
if (!file.exists(query_file)){
return('not found')
} else{
return (query_file)
}
})
output$query_result <- renderText({my_query()})
问题是,我想不出一种让他们独立工作的方法。现在,如果已提交计算作业,则我无法查询,但必须等待计算完成,即使它们应该是独立的。我该怎么解决?