关于EXT的某些语句执行的先后顺序,求前辈们帮帮忙
今天,在敲代码的时候,突然遇到了一个很费解的问题。
先看看我的代码。
一下是JS的
Ext.Msg.confirm('提示','确定修改吗?',function(btn){
if(btn=='yes'){
submitUser(tt);//执行更新
Ext.getCmp("win").show();
Ext.getCmp('win-grid').store.url='json';//执行查询
Ext.getCmp('win-grid').store.load();
Ext.getCmp("userwin").destroy();
}else{
}
},this);用途是更新数据,并在更新完数据之后更新gridpanel内的信息。
但是在执行的时候,我的后台尽然
Hibernate:
select
userss0_.USERID as USERID1_,
userss0_.USERNAME as USERNAME1_,
userss0_.USERPWD as USERPWD1_
from
DB_TEST.USERSS userss0_
Hibernate:
update
DB_TEST.USERSS
set
USERNAME=?,
USERPWD=?
where
USERID=4
先运行了查询,然后才更新。
这是怎么回事?我明明是先执行行update的。请高手赐教啊!
[解决办法]
你的修改时ajax异步提交的吧,异步提交的就不好控制了,你的更新操作和查询操作2个请求时间差就是1,2ms,所以哪个请求先到达服务器谁都说不定,取决于网络
将查询操作放到更新操作成功执行的回调里面执行
[解决办法]
更新是应该是异步调用的,你将查询的方法放在更新的回调函数中