extjs中store的reload事件异步问题解决
转载自:http://blog.sina.com.cn/s/blog_8f8b7fc10100zd75.html
store0.reload({params:{start:0, limit:10}}); alert(store0.getCount()); alert(store0.getAt(0).get('value1')) 观察store0.getCount()的值, 好像没有reload(或load)成功。其实reload确实成功了。
由于store.reload(或store.load)其实是个异步方法,由于采用了异步加载,
因此该方法执行完毕后,数据不是按照reload()(或load())方法下一个语句的顺序可以获取得到的。
reload之后的结果不能在reload函数后马上显示。 如果需要改变这种方法,那么应该将store.getCount放在load的callback中。 解决方法: store0.reload({params:{start:0, limit:10}, callback : function() { alert(store0.getCount()); alert(store0.getAt(0).get('value1')) }}); 这样使用callback就可以取到store0重新加载后的最新值。