我正在开展一个项目,在那里我们被要求"补丁" (他们不想在开发上花费大量时间,因为他们很快将取代系统)在ExtJS 4.1.0下实现的系统。
该系统在非常慢且不稳定的网络连接下使用。因此,有时商店无法获得预期的数据。
作为补丁,我首先想到的两件事是: 1.每次第一次装入商店时,请等待5秒钟再试一次。大多数情况下,页面刷新可以解决商店未加载的问题。
这个补丁应该只执行一次,以避免无限循环或不必要的递归,因为有时可以,存储不能获得任何数据。
我不喜欢这种解决方案,但是客户要求它。
答案 0 :(得分:0)
此link应该有助于解决您的问题。
其中一张海报建议在overrides.js文件中添加以下内容,该文件加载在ExtJs源代码和应用程序代码之间。
Ext.util.Observable.observe(Ext.data.Connection);
Ext.data.Connection.on('requestexception', function(dataconn, response, options){
if (response.responseText != null) {
window.document.body.innerHTML = response.responseText;
}
});
使用此示例,对于任何错误而不是回显示例中的错误,您可以记录错误详细信息以便稍后进行调试并尝试再次加载。我建议在其中添加一些额外的逻辑,这样它只会重试一定次数,否则它会在浏览器窗口打开时无限期地运行,很可能会使浏览器崩溃并给服务器带来额外的负担。
显然问题的根本原因不是代码本身,而是你的慢速连接。我试着解决这个问题,而不是其他问题。