【问题标题】:Vaadin. Event Queue瓦丁。事件队列
【发布时间】:2012-03-07 13:21:37
【问题描述】:

我正在开发一个 Vaadin 应用程序,因此屏幕左侧有一棵树。当用户使用导航键时,树的项目被选中,数据(关于它们)被加载到屏幕的右侧。但这会导致客户端和服务器之间的数据流很大,并且客户端需要等待服务器将处理所有先前选择的项目。 (如果用户快速导航 - 在大多数情况下都是如此)。是否有事件队列,以便我可以处理最后选择的项目,而不是“快速”导航期间选择的所有事件?

提前致谢。

已编辑

如果您用鼠标快速单击树项目,情况也是如此。我选择了第一个元素,并显示了我之前用鼠标“快速”选择的一个信息。

【问题讨论】:

    标签: events tree vaadin


    【解决方案1】:

    是否有一个事件队列,以便我可以处理最后选择的项目 不是在“快速”导航期间选择的所有事件?

    简而言之,据我所知,没有。

    我能提出的唯一建议是制作某种计时器,该计时器仅在暂停 0.5/1 秒后才对选择做出反应。不过,这会有点棘手,因为它需要使用轮询/或推送。见this discussion on how to do that

    【讨论】:

      【解决方案2】:

      您可以实现自己的简单事件“队列”,例如:

      1. 所有事件都收集到您自己的队列中
      2. 由事件生产者(你的树或其他东西)分离的所有事件
      3. 在生产者的事件空闲后(例如 2000 毫秒),您必须处理事件队列并触发堆栈中的最后一个事件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-21
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        • 2012-07-10
        • 1970-01-01
        • 1970-01-01
        • 2012-02-10
        相关资源
        最近更新 更多