在R的Shiny应用程序中,如何延迟激活被动?

sdg*_*sdh 7 r timer delay reactive-programming shiny

selectizeInput我的Shiny应用程序中有一个.它处于多选模式,因此用户可以指定多个选择.

但是,selectizeInput每次添加选择时,依赖于触发的反应.假设用户打算选择A,BC.目前,我的应用程序将为选择进行昂贵的计算A,A, B并且A, B, C当只需要最后一个时.

我能想到解决这个问题的最好方法是延迟大约selectizeInput一秒左右的触发,让用户有机会输入所有的选择.每个新选择应将计时器设置回1秒.我知道这Shiny提供了一个invalidateLater命令,但是这会导致被动反射现在和之后一次.

我怎样才能让被动反应只能在以后开火?

sdg*_*sdh 6

您应该消除反应性。

这里有一个R实现:https : //gist.github.com/jcheng5/6141ea7066e62cafb31c