浏览 4548 次
锁定老帖子 主题:flash奇怪的设计
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-04-28
flash本身是多线程的,但是却不提供任何方法让你操作线程。 郁闷。 flash里面远程调用都是异步的。 比如如下的一段类java代码: String p1="a"; String p2="b"; //远程调用1 String result1=remoteCallA(p1,p2);; //远程调用2 String result2=remoteCallB(result1,p1);; String finalResult="a"+"b"+result2; //dosomething with finalResult; ..... 要是用flash实现,就非是这么个流程: var p1='a'; var p2='b'; var cb1=function(result1); { var cb2=function(result2); { var finalResult="a"+"b"+result2; //dosomething with finalResult; } remoteCallB(cb2,result1,p1);; } remoteCallA(cb1,p1,p2);; 难写不说,要是后期维护满篇都是这种代码,头一定会大的.. 有什么好的方法能在flash中block一下当前运行的线程吗? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-04-28
要是需要多个remoteCallX并且每个remoteCall的参数都与以前的某次remoteCall的结果有关的话。
这个嵌套就有得写了。。。 |
|
返回顶楼 | |
发表时间:2006-04-30
Flash中没有任何办法block。
其实这样不是挺好的,所有的操作都必须是立即返回的,不会面对多线程的复杂性。 |
|
返回顶楼 | |
发表时间:2006-04-30
可是,对于我上面说的情况,我觉得确确实实是复杂了很多呀。
|
|
返回顶楼 | |
发表时间:2006-04-30
flash不是用来coding的,是用来画画的。。
察窗户用抹布,砸钉子用榔头,别反着来。 |
|
返回顶楼 | |
发表时间:2006-05-03
可是 laszlo和flex都不是用来画画的呀。
我就是用laszlo发现rpc只能异步。然后追寻到底层的flash api发现无法解决这个问题 |
|
返回顶楼 | |
发表时间:2006-05-03
try RemoteObject
var pc:PendingCall = xxxService.getXXX(); pc.responder = new RelayResponder(this, "getXXX_Result", "getXXX_Fault"); |
|
返回顶楼 | |
发表时间:2006-05-08
这样能解决嵌套的回调函数问题吗?
|
|
返回顶楼 | |