gpt4 book ai didi

java - GWT RPC 仅处理上次调用(返回)的结果

转载 作者:行者123 更新时间:2023-12-01 12:23:16 24 4
gpt4 key购买 nike

我想知道是否有一种更干净、更可重用的方法来实现以下用例:

我有一个搜索表单,它使用用户输入的值将 RPC 发送到服务器。回调返回与搜索条件匹配的项目。搜索可能需要几秒钟,我们希望用户能够更改他的搜索条件,即使先前的搜索尚未完成。如果他这样做,则应忽略所有先前的搜索结果,并应显示最后的结果。如果我们不考虑这一点,有时最新的调用会在旧的调用之前返回,导致最新的结果被覆盖,这意味着显示的结果将与当前输入的条件不匹配。

我们目前通过将回调分配给“lastCallback”字段来解决这个问题。每个回调实例都可以访问该字段并检查该字段是否等于其自身。如果不是,则同时发送了新的搜索请求,因此旧调用的结果将被忽略。

GWT 是否提供内置方法来处理此用例?

最佳答案

您可以取消之前的通话。让您的异步方法返回 com.google.gwt.http.client.Request 而不是 void,以便您可以对其调用 cancel() 。这将确保您的前一个回调永远不会被调用,并且您只有一个正在进行的请求(至少从客户端的角度来看;至少从客户端的角度来看;您将在服务器上处理多个请求,因为取消请求是一个客户端和网络事物,并且不暴露给 servlet 服务器端)

关于java - GWT RPC 仅处理上次调用(返回)的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26514743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com