Если вы хотите узнать размер очереди задач, которые были поставлены в очередь с помощью UI.access
, но еще не запущены, то вы можете использовать VaadinSession.getPendingAccessQueue
.
Это, однако, не дастполное изображение, поскольку оно не охватывает изменения, которые были применены к состоянию на стороне сервера (т.е. задача UI.access
уже выполнена), но еще не отправлена клиенту.Эти типы изменений отслеживаются в нескольких разных местах в зависимости от типа изменения и используемой версии Vaadin.
Для этого варианта использования может быть полезно использовать встроенныйbeforeClientResponse
функциональность, позволяющая применять ваши собственные изменения как можно позже, вместо того, чтобы с энтузиазмом применять изменения.
В версиях Vaadin до 8 вы делаете это путем переопределения метода beforeClientResponse
в своем классе компонента или расширения.Вы должны использовать markAsDirty()
, чтобы гарантировать, что beforeClientResponse
будет в конечном счете запущен для этого экземпляра.
С Vaadin 10 и новее, вместо этого есть UI.beforeClientResponse
, которому вы дадите обратный вызов, который будет запущен один разв надлежащее время в рамках.