一旦用户选择了输入参数,我就会在 Shiny 应用程序中运行相当耗时的计算。为了确保计算不会运行不必要的时间,我创建了以下操作按钮:
actionButton('seeData','see Data' )
Run Code Online (Sandbox Code Playgroud)
然后,我尝试使用以下代码仅在每次单击按钮时运行一次耗时的计算(并且在没有单击按钮时从不运行):
observeEvent( input$seeData, {
...long, includes several function calls...
})
Run Code Online (Sandbox Code Playgroud)
在observeEvent我内部确实引用了其他输入参数。
我发现,无论我调整输入参数多少次,直到按下按钮才第一次运行计算。但是,一旦我按下按钮一次,只要更改任何输入参数,就会运行计算。当我只按一次按钮时,为什么代码会运行第二次、第三次、第四次(等等)?
我的目标似乎只是典型的用例,但我认为有一些observe我不理解的棘手isolate问题。observeEvent我做错了什么以及如何实现一键一计算功能?
| 归档时间: |
|
| 查看次数: |
5976 次 |
| 最近记录: |