Одновременное обновление двух элементов в Shiny

#r #shiny #shiny-server

#r #блестящий #shiny-сервер

Вопрос:

Этот код создает два элемента, в которых в замедленном режиме я записываю значения переменной цикла for. Проблема в том, что я думал, что две операции записи будут выполняться одновременно, а не одна за другой, как это происходит в настоящее время. Как я могу заставить два элемента обновляться одновременно?

мой index.html

 <html>
    <head>
        <script type="text/javascript" src="shared/jquery.js"></script>
        <script type="text/javascript" src="shared/shiny.js"></script>
        <link rel="stylesheet" type="text/css" href="shared/shiny.css"/> 
        <style>
            .shiny-text-output { border: 1px solid green; }
        </style>
    </head>

    <body>
        <pre id="results2" class="shiny-text-output"></pre>
        <pre id="results4" class="shiny-text-output"></pre>
    </body>

    <script type="text/javascript">
        Shiny.addCustomMessageHandler ("myCallbackHandler",
            function (value) {
                document.getElementById ("results2").innerHTML = value;
            }
        );

        Shiny.addCustomMessageHandler ("myOtherCallbackHandler",
            function (value) {
                document.getElementById ("results4").innerHTML = value;
            }
        );
    </script>
</html>
  

мой server.R

 shinyServer (function (input, output, session)
{
    observe ({
        for (i in 1:3)
        {
            session$sendCustomMessage (type="myCallbackHandler", i);
            Sys.sleep (2);
        }
    });

    observe ({
        for (i in 1:4)
        {
            session$sendCustomMessage (type="myOtherCallbackHandler", i);
            Sys.sleep (1);
        }
    });
})
  

Комментарии:

1. Вам пришлось бы обновлять их одновременно в одном и том же наблюдателе.

2. Я объединил код с помощью одного observe вызова, но я получаю то же самое обратно.

3. циклы, конечно, тоже должны быть объединены.

4. но циклы делают разные вещи.

5. ну, вы должны быть в состоянии объединить их, учитывая, что они оба в основном просто повторяют что-то.