Vaadin Flow:删除 PollListener

Vaadin Flow: Remove PollListener

是否可以在 Vaadin 14 中删除 PollListener

UI.getCurrent().addPollListener(pollEvent -> { refresh(); }

我需要开始刷新,但是如果Route或者UI改变了,刷新就得停止了。

是否有“Vaadin 可能性”,或者我必须自己构建一些东西?

谢谢!

docs 中所述,要禁用轮询,应调用

UI.getCurrent().setPollInterval(-1);

为了确保在离开视图时调用此方法,您可以在 BeforeLeaveObserver 中进行此调用。这是一个例子:

public class Foo extends Div
        implements BeforeLeaveObserver {
    @Override
    public void beforeLeave(BeforeLeaveEvent event) {
        UI.getCurrent().setPollInterval(-1);
    }

}

如果要在启用轮询的同时删除单个轮询侦听器,可以存储对 addPollListener() 方法返回的 Registration 对象的引用,然后调用 remove来自 Registration.

的方法