最近xmlHTTPRequest
、Web サービスの呼び出しを JSONP リクエストに置き換えましたが、それが原因でエラーが発生することがわかりました。JSONP が少し遅いことがわかりました。
initialize:function(){
this.callParent();
var jsonObject = Ext.create('MyProj.library.webservice').makeJSONPRequest('top_categories_json');
Ext.getCmp('categoryList').setData(jsonObject.info);
console.log(jsonObject.info);
}
makeJSONPRequest: function(urlx, postparams) {
Ext.data.JsonP.request({
params:{
params: Ext.JSON.encode(postparams)
},
success: function(result) {
console.log('JSON RES');
console.log(result.info);
if (result) {
//return JSON.parse(result);
return result;
} else {
Ext.Msg.alert('Error', 'There was an error retrieving the weather.');
}
}
});
}
呼び出しを実行した後makeJSONPRequest
、JSONP リクエストが終了するのを待たずに次のステートメントが実行されるため、jsonObject
未定義になることがわかりました。そのエラーの後、JSONP リクエストは終了し、値を出力します。とにかく、JSONP リクエストが完了するまでメインスレッドを中断します。