您的位置:首页 > 职场人生

DWR的同步和异步使用方式

2011-07-21 14:53 267 查看
(2009-08-21 09:25:33)



转载


标签:

ajax

服务器端

js

异步调用

open

it

分类: 知识积累
想要异步的时候异步,想要同步的时候同步,在不同的情况下我们有不同的需求。dwr是ajax的服务器端框架,它封装了服务器端的调用,我们可以在JAVASCRIPT中直接调用服务器端的代码,完成想要的功能。但是,由于AJAX是异步实现的,并且AJAX确实是为了异步的实现才引入近来的。但是,AJAX仍然也支持同步的调用。在纯粹的XMLHttpRequest中可以设置调用是否是异步的。XMLHttpRequest的open函数是有一个是否同步参数,如下:

XMLHttpRequest.open(String method, String URL, boolean asynchronous)

其中的asynchronous就是是否同步的参数了。

在DWR的engine.js文件,有setAsync方法,就是设置调用是否是同步的,还是异步的。

js 代码

if(testProjectId != -2){

DWREngine.setAsync(false);//设置是否异步传输为false,即同步

viewUtil.getTestedProjectLabelValueBeanByProject(handleResponser1, testProjectId);

DWREngine.setAsync(true); //再设置是否异步传输为true,即异步

}

上面这段代码就是设置DWR是同步返回的。如果不同步返回的话,我去页面中的一个元素的值就取不到了,因此必须先设置为同步。然后再执行三个异步调用:

js 代码

1.viewUtil.getAllModuleLablueBeanById(handleResponser3, testedProjectId);

2.viewUtil.getAllResolverListLablueBean(handleResponser4, testedProjectId); 3.viewUtil.getTestReportLabelValueBean(handleResponser2, testProjectId, testedProjectId);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 DWR