変数 'updated'の値は、以下のコードでコールバック内から変更することはできますか?ExtJsのコールバック内から変数を変更できません
なぜ変数 'updated'が次のように変更されないのですか(つまり、関数が呼び出されるたびに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 ;
}
'store.load()'(私はリモートプロキシを使用していると仮定しています)は非同期呼び出しで、 'update'変数を定義して' load'を呼び出して 'update'を返すので毎回falseを返すと思います。変数。したがって、ストアはまだロードされておらず、 'update'はまだfalseです。 –
@SergeyNovikovはい、あなたは正しいです、私はリモートプロキシを使用しています –
さて、私はどのようにurコードサンプルが実際に動作するかを説明しました。 'updated'変数はtrueに変更されますが、' callback'関数が起動されると変更されます。 –