我使用 Resty gwt 进行所有服务器通信。我想要一些指示器来显示操作正在进行中。
我考虑了两种方法:
- 进度条,将显示进度百分比;
- 动画,将在操作进行时显示,但没有任何百分比。
我假设我需要添加带有回调的自定义过滤器。
我想触发以下事件: RestyGwtComunicationStart
和 RestyGwtComunicationEnd
,或回调以触发 onComunicationStarted
和
onCommunicationEnded
。我想在一个地方声明它,RestyGWT 调度程序配置。另外,如果有错误,我想获取错误。
但我不知道从哪里开始。文档中没有任何相关说明。
我可以向你寻求帮助吗?我怎样才能做到这一点?
最佳答案
因此,如果您想知道请求已发送,则由您在 GWT 应用程序中处理该请求。您可以在触发请求时发送事件。您有多种方法可以做到这一点。
查看文档中的 Request Dispatcher https://resty-gwt.github.io/documentation/restygwt-user-guide.html
然后如果你想获取进度信息,因为 HTTP 调用是同步的。所以没有办法轻松做到这一点。
我的做法如下:
1) 创建第一个调用以通过 POST 在后端启动处理,这将返回您的处理的 ID
2) 然后对您的处理 ID 执行 GET,这将返回进度。一旦进度达到100%,就会返回结果的ID
3)通过结果ID获取结果
(最终可以将 2 和 3 混合在一起,并在同一 DTO 中进度为 100% 时返回结果)
另一种选择是通过将信息从后端推送到前端(html5 websocket)来替换 2)
关于异步开始和结束时的 Resty-GWT 自定义回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38325236/