Primefaces一项调查“暂停”了另一项调查

时间:2018-08-06 13:25:45

标签: jsf primefaces

我在同一页中有两个素字调查。

其中一个(pollLg)的间隔时间较长(30秒),而另一个(pollSm)的间隔时间较短(8秒)。

pollLg开始时,我希望pollSm“暂停”,然后在pollLg完成任务后继续(记住中断的时间)。

如果我在PF('pollSm').stop()任务中调用PF('pollSm').start()pollLg,则pollSm将仅在8秒后再次执行。

例如,当打开网页时,我有:

pollSm executions: 8sec, 16sec, 24sec (pollLg will execute here and stop pollSm)

pollLg完成后,pollSm将仅在8秒后执行,而不是2秒(被6秒中断)。

有没有简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

让我首先说明PrimeFaces源是开放的,并且可以轻松地用于检查(也许未记录)功能。我确实注意到了,因为它的民意调查组件具有内置功能,因此您无法在PrimeFaces中轻松做到这一点。在javascipt source of the component中,您可以看到它使用普通的JavaScript计时器。

因此,我开始搜索您是否可以使用普通的javascript轻松完成此操作,并注意到那里也没有便捷功能。幸运的是,JavaScript中pausing/resuming a timer的StackOverflow中已有一个问题,甚至有答案that is about repeating timers

如果将此与overriding (or extending) PrimeFaces widgets结合使用,则可以实现所需的功能。