模式 + GWT + Ajax = 易用性
2009-09-12 00:00:00 来源:WEB开发网这个错误通常可以用线程来解决,但是 GWT 不允许这么做,因为 JavaScript 语言只提供一个执行线程,所以编译后的线程化代码无法正常工作。Ajax 为服务器端处理提供了解决方法,但是不适用于客户机。幸运的是,有两个模式可以解决这个问题;我应用它们显示城市页面。
基于计时器的解决方案
GWT 提供一个 Timer 类,其中的 schedule() 方法与 JavaScript 语言自己的 setTimeout() 方法相似。原理是先做一部分工作并存储值,以后可以继续处理(经过超时之后),这样会在其间释放处理器,见清单 5。检查是否需要继续处理;用户可能决定向前或向后翻页,对于前面的页面数据不再处理。
清单 5. 用计时器模拟线程
define a class that extends Timer:
define attributes so it can save its parameters
define attributes so it can save local variables from run to run
define attributes so it can save form field values
on construction:
save the received parameters
initialize local variables for the process
save the current form field values
display a "loading" message
run() method:
if the current form field values match the saved values:
execute some process, updating the local variables
if there's still more work to be done
schedule another process in a short while
whenever you want to simulate a thread with a timed method:
create an object of the new class above, with appropriate parameters
execute its run() method
- ››Ajax 实现静态刷新页面 带加载旋转图片
- ››ajax中获取和发送二进制数据的方法
- ››模式作用域:初级读本和最佳实践
- ››ajax调用后台页面怎样区别ID
- ››Ajax+jQuery实现LightBox与服务器通信
- ››AJAX中利用javascript的split函数处理responseTex...
- ››AjaXplorer 2.6.1 发布,远程文件管理
- ››AJAX + SVG 实现实时监控图表
- ››AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:...
- ››AJAX也有安全隐患 谈谈AJAX的安全性
- ››ajax+asp.net+mssql无刷新聊天室
- ››AJAX中文问题[转]
更多精彩
赞助商链接