Asynchronous 闪亮-在执行异步任务时更改actionButton的颜色

Asynchronous 闪亮-在执行异步任务时更改actionButton的颜色,asynchronous,button,colors,shiny,Asynchronous,Button,Colors,Shiny,我有一个异步任务,由actionButton启动,它启动一个远程进程,执行这个进程需要很长的时间,而且没有指定时间。在该过程结束时,将在远程服务器中写入一个文件。是否有方法在任务执行时更改actionButton的颜色,并在检测到远程文件已写入时恢复为原始颜色 请注意,进度条没有帮助,因为我不知道任务需要多长时间(可能持续30秒到3分钟或更长)。我需要一个二进制进程,例如在远程进程执行时更改actionButton的颜色,以警告用户不要再次按下按钮(或者在写入文件之前禁用按钮)。在伪代码中,我设

我有一个异步任务,由actionButton启动,它启动一个远程进程,执行这个进程需要很长的时间,而且没有指定时间。在该过程结束时,将在远程服务器中写入一个文件。是否有方法在任务执行时更改actionButton的颜色,并在检测到远程文件已写入时恢复为原始颜色

请注意,进度条没有帮助,因为我不知道任务需要多长时间(可能持续30秒到3分钟或更长)。我需要一个二进制进程,例如在远程进程执行时更改actionButton的颜色,以警告用户不要再次按下按钮(或者在写入文件之前禁用按钮)。在伪代码中,我设想了以下步骤:

(1) actionButton color = 'green'

(2) click actionButton --> change color to 'red' (and disable button?)--> start remote process asynchronously --> may take 2 minutes --> write file remotely

(3) if(exists(file remote)){change actionButton color back to 'green' (and enable button?)}

(4) use remote file
请注意,这里的关键方面是远程进程是异步的。在R文件的更常见处理中,第(3)行和第(4)行将同步运行,并且不需要更改actionButton中的颜色,因为程序将等待第(2)行结束后再继续。在我的例子中,当前,在我运行第(2)行之后,进程将继续,而不是等待远程文件的创建和存储。但是,在进一步的步骤中,我需要将结果存储在远程文件中


谢谢

我想您需要一个ProgressBar选项。下面是一个例子,它是如何工作和代码-谢谢你的评论,安德烈。我扩展了描述,并指出了为什么我认为一个更接近may的解决方案是可行的(特别是Barbara提出的解决方案)。