下面这些选项可以通过 DWREngine.setX() 函数来设置全局属性。例如:

​DWREngine.setTimeout(1000);​

或者在单次调用级别上(假设 Remote 被 DWR 暴露出来了):

Remote.singleMethod(params, { 
callback:function(data) { ... },
timeout:2000
});

远程调用可以批量执行来减少反应时间。endBatch 函数中可以设置选项。

DWREngine.beginBatch(); 
Remote.methodInBatch1(params, callback1);
Remote.methodInBatch2(params, callback2);
DWREngine.endBatch({
timeout:3000
});

可以混合这几种方式,那样的话单次调用或者批量调用级别上的设置可以复写全局设置(就像你希望的那样)。当你在一个批量处理中多次设置了某个选项,DWR 会保留最后一个。所以如果 Remote.singleMethod() 例子在 batch 里面,DWR 会使用 3000ms 做为超时的时间。

callback 和 exceptionHandler 两个选项只能在单次调用中使用,不能用于批量调用。

preHook 和 postHook 选项两个选项是可添加的,就是说你可以为每一次调用添加多个 hook。全局的

preHook 会在批量调用和单次调用之前被调用。同样全局的 postHook 会在单次调用和批量调用之后被调

用。

如果以上叙述让你感到混乱,不用担心。DWR 的的设计往往和你想象中的一样,所以其实这些并不复杂