我正在构建我的第一个Shiny应用程序 - 您可以在此处访问实时版本:http://justmytwospence.shinyapps.io/StepLively/
它运行正常,但您可以在加载页面后立即看到我的问题。所有的输出都依赖于一个需要一段时间才能执行的反应导体(它实际上执行逐步回归的功能)。因此,我的输出显示错误消息,直到无功导线完成执行。这只需要几秒钟,但它非常烦人和未经抛光。
有没有办法安排反应端点的执行,以便在反应导体完成之前它们不会执行?或者 - 但不太有利 - 有一种方法可以测试无功导体的可用性,并在无法使用时显示其他东西。类似if (reactive_conductor_function()) {blah}
的内容。然而,这不起作用,因为它是一个功能。
编辑:我添加了一个“执行”按钮以完全绕过此问题,因此目前在应用中并不明显。
答案 0 :(得分:1)
您可以尝试以下方式:
if(is.null(reactive_conductor_function()){return(NULL)}
#rest of your code follows
或
reactive_data <- reactive_conductor_function()
if(is.null(reactive_data)){return(NULL)}
#rest of your code follows
这两个都会阻止该代码块中的任何下游发生,直到reactive_conductor_function有数据。我不确定第一个,但我经常使用此代码的第二个版本。
如果您可以发布一些代码示例,我可以提供更好的建议!