论坛首页 Web前端技术论坛

预告:把异步变同步——AJAX之Future模式

浏览 18144 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-04  
赶紧放出来吧,等几天了都……
0 请登录后投票
   发表时间:2007-06-04  
正在赶工中。。。
0 请登录后投票
   发表时间:2007-06-05  
LZ加油,期待ing~~~!
0 请登录后投票
   发表时间:2007-06-09  
国外已经有人实现这种特性,但是需要重新解析js,而且有一定的限制
0 请登录后投票
   发表时间:2007-06-09  
smaviller 写道
国外已经有人实现这种特性,但是需要重新解析js,而且有一定的限制

在那里?别放冷枪嘛。给出个地址来,也让我们好研究研究。别光掉人胃口。
不给地址名字总该透漏一下吧:(
0 请登录后投票
   发表时间:2007-06-09  
http://chumsley.org/jwacs/
http://neilmix.com/narrativejs/
0 请登录后投票
   发表时间:2007-06-09  
异步变同步,我能想到的方法只有两种。
1.采用mozilla新版本支持的线程处理函数。
2.代码编译。

第一种方法的弊端:目前还局限于mozilla,非正式标准。
第二种方法:编译麻烦,而且,好像也只能整站编译。基于它的实现很难作为类库使用。

不知道hax的实现思路如何?
能否透漏一点?
0 请登录后投票
   发表时间:2007-06-10  
嗯,重新解析js,或者说编译的方法,也就是我前面提到的思路,差别只是具体如何实现。
但这种方式需要深入研究。同步的写法,是调用一个函数,等待返回,拿到返回值,继续执行。而实际是异步执行,setTimeout、XmlHttp、onclick等等都可能会有回调。
为了保证语义,不是被调用函数的那些回调都必须被屏蔽。否则就好像,被调用函数包含了其他回调的功能,这就改变了被调用函数的语义和作用。
屏蔽不容易,继续深入的话,最后就变成了一个纯粹的没有回调的单线程,用做计算可以,但用于界面就不切实际了
然而用于计算,基本没有异步的情况…

保持同步语义,而又不失灵活性,还是等ie、firefox都支持多线程吧。不过那样又有多线程本身的复杂性了。。。
0 请登录后投票
   发表时间:2007-06-10  
不能理解,太高深了,期待楼主解答。
0 请登录后投票
   发表时间:2007-06-12  
smaviller 写道


我觉得Hax楼主所说的,和上述两个链接谈及的技术完全不一样。

从我个人角度看,我认为,Hax考虑更多的是参考Java 5 中Cocurrent的API设计,在JavaScript中类似地使用Future模式。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics