我的代码类似于:
<a4j:commandButton
onclick="showProcessingPanel(); prepareOperation()"
oncomplete="#{!operationBean.operationPrepared ? 'showNoOperationAvailable()':'startOperation()'}; hideProcessingPanel()">
现在,prepareOperation是一个javascript调用,它为backendBean提供一些数据,然后在其上触发一个方法。
ShowProcessingPanel显示一个面板,通知用户某些操作正在进行且没有数据/状态。
operationBean中的OperationPrepared属性仅在后备bean方法从prepareOperation()方法完成后更新,默认情况下为false。
现在我的问题是onclick和oncomplete方法几乎同时发生,因此有时即使prepareOperation将operationPrepared设置为true,也不会调用startOperation,因为aftercomplete是在prepareOperation更改之前触发的。
如何修改它以使其按预期工作?