私はストアを作成してロードしています。しかし、first()メソッドを使用して最初のモデルインスタンスからレコードを取得しようとすると、失敗します。ExtJS 4、ストアの読み込みですが、store.first()メソッドは未定義のまま返します
は、ここでは、コードです:
var getCaseId = function(){
var csId;
//form url
var getCaseIdStore = Ext.create('Roa.store.district.Requests', {
model: 'Roa.model.district.Requests',
proxy: {
type: 'ajax',
url : 'http://localhost:8080/roa/MongoDataService/requests?etc',
method: 'GET',
reader: {
type: 'json',
root: 'requests'
}
},
autoLoad: true
});//end create store
console.log('request store created');
getCaseIdStore.load({
scope: this,
callback: function(records,operation,success){
if(success){
//var req = getCaseIdStore.first();
//var csId = req.get('caseId');
//console.log('csId==>'+csId);
//return csId;
}//end if
}//end callback
});//end store load
var req = getCaseIdStore.first();
if (req != undefined){
csId = req.get('caseId');
console.log('return csId==>'+csId);
return csId;
}
else{
console.log('your attempt failed');
}
};//end function
は良い人々に助言してください。
-TU
。最初のコールバックコールバックは問題ありません。 – sha
はい、動作します。しかし、私は、コールバックからcsId値を取得する方法を理解することが困難なため、包括関数getCaseId()によって返されます。 –
することはできません...あなたは同期関数として関数を包含することを考えようとしていますが、ロード操作を開始した直後にその関数から制御を取り戻します。すぐに結果に依存しないようにこの関数を呼び出すビットコードを再設計する必要があります。 – sha