2013-11-28 20 views
1

我剛開始使用有光澤的2天后,所以原諒我,如果這是非常天真的問題,但我環顧四周,找不到一個簡單的答案。我正在創建一個需要一段時間才能完成的應用程序。我想通過程序的中間步驟來更新輸出。一旦程序完成,我可以打印到輸出,但是如何打印中間步驟。如何使用用戶輸入更新有光澤的應用程序的輸出

例如,在下面的最小應用程序代碼中,它會在10秒後打印1到10的數字,但是如何才能在每個第二間隔打印?

library(shiny) 

runApp(list(
    ui = basicPage(
    h2('Multiple output'), 
    actionButton("goButton", "Go!"), 
    textOutput("out") 
), 
    server = function(input, output) { 
    output$out = renderText({ 
     if(input$goButton == 1) { 
     msg = NULL 
     for(i in 1:10) { 
      Sys.sleep(1) 
      msg = paste(msg,i) 
     } 
     msg 
     } 
    }) 
    } 
)) 

回答

1

這是一個非常流行的請求在閃亮的論壇上,並且Stack Overflow的邊緣不夠寬以顯示詳細的答案(特赦,Fermat)。訣竅是使用JavaScript來檢查類shiny-busy

var isBusy = $('html').hasClass('shiny-busy'); 

鄭元暢對

https://gist.github.com/jcheng5/4495659

樣本也可以搜索閃亮論壇 「進度條」。

相關問題