在从 Ext-js-4 调用服务调用时,我正在尝试解决“中止”错误。我将异步属性设置为“假”,据我了解,这将使请求成为同步请求。以下是我的商店代码,它有代理定义。
Ext.define('RD.store.Rules', {
extend: 'Ext.data.Store',
requires: 'RD.model.Rules',
model: 'RD.model.Rules',
proxy: {
type: 'ajax',
async : false,
url: '/admin/client/test/list.in',
actionMethods: {
create: 'POST',
read: 'GET',
update: 'POST',
destroy: 'POST'
},
reader: {
type: 'json',
root: 'rules'
}
},
autoLoad: false,
autoSync: false,
// Event listeners
listeners: {
'beforeload': function(self, operation) {
console.log('RD.store.Rules beforeload');
console.log(self, operation);
self.total = null;
self.returned = null;
},
'load': function(self, records, successful) {
console.log('RD.store.Rules load');
console.log(self, records, successful);
var data = self.getProxy().getReader().rawData;
self.total = data.total;
self.returned = data.returned;
}
}
});
如果我使用此代理调用请求,我将在 27 秒后收到“中止”错误。出于测试目的,我向代理添加了超时属性,如下所示
proxy: {
type: 'ajax',
async : false,
**timeout: 300000,**
url: '/admin/client/test/list.in',
进行此更改后,我可以在 40 到 50 秒后获得结果。
我们可以在不使用超时属性的情况下避免这个错误吗?不需要为同步请求提供超时属性吗?
请分享您对此的宝贵意见。
谢谢