如何在回调中的代码中修改变量'的更新值。
为什么变量'更新'没有按以下方式修改(即每次调用函数时它都返回false)?
updateData:function()
{
var updated = false;
var store = new Ext.getStore('MyStore');
store.load({
scope: this,
callback: function(records, operation, success) {
if(/*some condition*/){
updated=true;
}
}
});
return updated ;
}
答案 0 :(得分:1)
不确定你想用这段代码实现什么,但由于store.load()
是异步的(我假设你使用像ajax这样的远程代理),当你返回updated
时,不会加载存储它还是假的。
如果您只想在加载商店时执行某些操作,可以在callback
匿名函数中执行此操作(或将回调函数传递给updateData
函数并在callback
内调用它?)。
如果要检查商店是否已加载,您可以为ExtJS 5+调用isLoaded()
或检查商店lastOptions
属性(如果存在,那么您的商店至少加载了一次)属性对于ExtJS 4。
我没有看到<{1}}函数的足够的解决方案返回true。