WEB开发网
开发学院网页设计JavaScript 模式 + GWT + Ajax = 易用性 阅读

模式 + GWT + Ajax = 易用性

 2009-09-12 00:00:00 来源:WEB开发网   
核心提示: 这个错误通常可以用线程来解决,但是 GWT 不允许这么做,模式 + GWT + Ajax = 易用性(9),因为 JavaScript 语言只提供一个执行线程,所以编译后的线程化代码无法正常工作,见清单 5,检查是否需要继续处理;用户可能决定向前或向后翻页,Ajax 为服务器端处理提供了解决方法

这个错误通常可以用线程来解决,但是 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 
      

上一页  4 5 6 7 8 9 10  下一页

Tags:模式 GWT Ajax

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接