DWR/Ajax超时设置及其问题

DWR可以指定超时设置:

1、设置局部超时:

RemoteBean.remoteMethod(param1, param2, ...,

{

callback: callbackfun, //回调函数

timeout: Tms, //超时,单位是毫秒,默认为20分钟,设置为0代表关闭超时

errorHandler:function(message) { alert(message); } //超时后调用的处理函数

});

 

2、设置全局超时:

    

DWREngine.setTimeout(Tms);

   

3、存在的问题:

       在某些情况下,Ajax/DWR超时造成回调无法调用(及时关闭超时设置也不行),我的一个比较笨的解决办法就是前台同时启动两个DWR远程调用,一个线程启动后台的耗时操作,这个操作结束后会向一个能够快速返回的地方,比如文件,数据库写入标识位(例如耗时操作的结果成功,失败等),而另一个线程获取后台文件或者数据库中的标识位(这个操作返回比较快),前台的第一个DWR调用不需要回调,只有第二个回调根据读取的标识位更新前台页面。以上问题在DWR环境和原始的Ajax调用中都存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值