私はextjs 4.2で作業しており、ある場所で次のようにストアオブジェクトをロードしています:
var userDetailStore = Ext.create('Ext.data.Store', {
model : 'Person.DetailsModel',
autoLoad : true,
proxy : {
type : 'ajax',
method : 'POST',
url : 'getValueAction.action',
reader : {
type : 'json',
root : 'details'
},
writer : {
type : 'json',
root : 'details'
}
},
fields : ['id','loginName','referenceId' ,'name']
});//Here I load the store which will definitely contain a list of values.
次の行で、このようにストア オブジェクトから最初の値の referenceId を取得したい
var empId = userDetailStore.getAt(0).get('referenceId')
そして、今までストアオブジェクト userDetailStore の getCount() が私にゼロを与えていたので、私はエラーを受け取っています。referenceId を取得している行の前で、コードは正常に動作します。行userDetailStore.getCount()が正確な値を示しています。
したがって、ストアをロードしてからストアを使用するまでの間に何らかの遅延が必要だと思いますが、アラートを表示したくありません.alertステートメントの代わりにsleep()メソッドを使用しました.しかし、それもそうではありません(ところで、 sleep()を実行してブラウザをフリーズしたくありません)
ストアのロード中に何か間違ったことをしていますか?ストアが完全にロードされた後にストアを使用するためにコードを実行する一般的な方法はありますか?
誰かここで私を助けてください...
よろしく : 開発