-1

世界上的 SAPUI5 社区是如此之小,所以我需要看看是否有人可以帮助我解决这个问题或解释接下来可能发生的事情。

我有一个 UI5 应用程序,它使用 oDataModel 使用网关服务,当我尝试发出 POST 请求时,服务响应非常快,但是我第二次调用相同的服务时,请求的次数急剧增加,如 200%。最奇怪的是,第一个请求和第二个请求是一样的。

在我的浏览器中,第一个请求的成功时间约为 10 秒,而第二个请求(与第一个请求相同)的成功时间为 2-3 分钟。

在我的浏览器中,第二个请求以“待处理”状态显示 2-3 分钟,但在网关中,请求在 20 秒内正确完成。

这是我第一次和第二次调用 oDataModel 的方式。

服务

var oModel = new sap.ui.model.odata.ODataModel(serviceUrl);
    oModel.headers = {
        "X-Requested-With": "XMLHttpRequest",
        "Accept": "application/atom+xml,application/atomsvc+xml,application/xml,application/atom+xml",
        "Content-Type": "application/atom+xml",
        "DataServiceVersion": "2.0"
    };
    oModel.setCountSupported(false);
    oModel.setSizeLimit(this._maxSize);
    oModel.attachRequestFailed(this.showLoadError);

然后,在我的控制器中,我执行以下操作。

控制器

function initializeOrders(){
var oParameters = {
        Lgnum: localStorage.Yard,
        PlanStatus: "",
        Orders: [{}],
        Transports: [{}]
    };

    oModel.create("/IncomingSet", oParameters,
        null,
        jQuery.proxy(this._readODataOnSuccess, this),
        jQuery.proxy(this._readODataOnError, this)
    )}

这个initializeOrders函数在应用程序启动时执行,如果有变化我想刷新应用程序信息时也会执行它。

如果有人可以帮助我解决这个问题,我将非常感激,因为不在 sap 论坛中我没有找到任何好的东西

4

1 回答 1

0

我发现了问题,它是一些控件的渲染,但 chrome 控制台因此显示为挂起。这必须关闭,作为所有发现此问题的人的解决方案:

- 如果您的控件使用来自服务的大量数据,请始终尝试按需使用它,数据量可能会阻塞浏览器的内存。例如,一个带有模型的动态组合框

最佳做法是在需要时设置模型

也许它是 Chrome 的一个错误,或者我不知道,嗯......它解决了...... 2 周来解决这个问题。

于 2018-04-06T02:17:09.423 回答