当前位置 : 主页 > 手机开发 > harmonyos >

DWR回调函数设置全局变量值无效的原因及解决方法

来源:互联网 收集:自由互联 发布时间:2023-08-28
由于DWR的返回结果是需要通过回调函数来执行的,所以一般在处理返回结果时,经常有候需要把变量设给全局变量以供全局调用。 但这里很可能会遇到一个问题,就是明明在回调函数中


由于DWR的返回结果是需要通过回调函数来执行的,所以一般在处理返回结果时,经常有候需要把变量设给全局变量以供全局调用。

但这里很可能会遇到一个问题,就是明明在回调函数中已经改变了值,但是在之后的输出中有时候却显示为改变前的值。

其实究其原因是因为DWR是异步调用函数方法的。这就导致有时候在调用变量的时候,虽然执行顺序是在DWR调用的后面,但是异步导致了DWR回调方法还未执行完时已经先调用了待更改的变量,于是发生了这种变量好像没有改变的问题产生。

解决方法是把DWR设为同步执行即可。

 

dwr.engine.setAsync(false);

但为了页面的DWR全局执行的waiting考虑,建议在调用完后再恢复异步执行~

dwr.engine.setAsync(true);
上一篇:Struts2 v2.1.6 笔记
下一篇:没有了
网友评论