Shiny - изменить цвет actionButton при выполнении асинхронной задачи - PullRequest
0 голосов
/ 20 мая 2018

У меня есть асинхронная задача, инициированная 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), процесс продолжается и не ждет, пока удаленный файл будет создан и сохранен.Тем не менее, мне нужны результаты, сохраненные в удаленном файле в следующих шагах.

Спасибо

...