Функция обратного отсчета связана с AJAX - PullRequest
0 голосов
/ 30 ноября 2011

В настоящее время у меня есть функция опроса PrimeFaces <p:poll> ajax, которая выполняется каждые 90 секунд для обновления некоторых данных.Меня попросили сделать это визуально, и мне просто интересно, какой самый быстрый / легкий способ сделать это?

Я думаю, что у меня есть два варианта:

  1. Создать PrimeFaces <p:poll>, который выполняется каждую секунду, сокращая глобальную переменную числа JavaScript, которая приполучает значение 0, затем выполняет ajax для обновления данных, хотя это может быть восприимчиво к задержке обработки?

    или

  2. Найти / построить какой-либо таймер обратного отсчета вjQuery / JS и т.п., как и выше, выполняются по окончании обратного отсчета.

Надеюсь, у кого-нибудь есть более чистый / лучший метод.

1 Ответ

0 голосов
/ 30 ноября 2011

Я думаю, что для этого случая было бы лучше использовать <p:remoteCommand вместо <p:poll.

Таким образом, вы можете закодировать обратный отсчет / отображение с помощью JQuery, вызвать команду remote и сбросить счетчик до 90, когда счет достигнет 0.

<p:remoteCommand name="fetchData" action="#{...}" update="..."/>
<!-- fetchData here will be a global javascript function. --> 

Витрина RemoteCommand

Проблема с использованием <p:poll заключается в том, что таймер опроса и таймер дисплея не синхронизируются.

...