gpt4 book ai didi

javascript - ODATA 请求已中止

转载 作者:行者123 更新时间:2023-12-03 04:55:39 25 4
gpt4 key购买 nike

有时,odata 请求在 SAPUI5 中的特定应用程序中崩溃(iwfnd/error_log 中的 GW 端没有错误)。如果我在 Chrome 网络选项卡中重播调用,它总是有效。

我收到此错误:发生以下问题:请求中止 -

使用的 SAPUI5 版本是:“1.38.9”。这是堆栈:

O   @   sap-ui-core.js:formatted:9550
Q.fatal @ sap-ui-core.js:formatted:9571
h._handleError @ ODataModel.js:6
k @ ODataModel.js:6
(anonymous) @ ODataModel.js:6
i.abort @ datajs.js:17
abort @ ODataModel.js:6
c.abortPendingRequest @ ODataListBinding.js:6
c.filter @ ODataListBinding.js:6

在“主详细信息”场景中,当我单击“主”列表中的项目时,我会过滤详细信息中的一些数据。问题在于,随着 Odata 请求中止,数据实际上并未更新。这是代码的简短版本:

    _onRouteMatched: function(oEvent) {
filterCharac.push(new sap.ui.model.Filter("Zrwk", sap.ui.model.FilterOperator.EQ, oArgs.idRework));
filterCharac.push(new sap.ui.model.Filter("Ztasknb", sap.ui.model.FilterOperator.EQ, oArgs.taskId));
this.getView().byId("TableCharac").getBinding("items").filter(filterCharac);
this.getView().byId("StatusLog").getBinding("items").filter(new sap.ui.model.Filter("Zrwk", sap.ui.model.FilterOperator.EQ, oArgs.idRework));
this.getView().byId("lowestItems").getBinding("items").filter(filterCharac);
var commentsFeed = this.getView().byId("Comments");
var oFilter = new sap.ui.model.Filter("Zrwk", sap.ui.model.FilterOperator.EQ, oArgs.idRework); // name between A and G
commentsFeed.getBinding("items").filter(oFilter);

}

最佳答案

这种情况通常发生在获取某些数据(例如完整列表内容)的请求因请求完成之前对列表应用过滤(或排序)而中止时。由于 UI5 检测到最初请求的数据将不再“有用”,因此它会中止请求。

UI5 代码中的以下注释解释了这一点 ( code is on github ):

/*    
* Aborts the current pending request (if any).
*
* This can be called if we are sure that the data from the
* current request is no longer relevant, e.g. when filtering /
* sorting is triggered or the context is changed.
*/

理论上,这不会影响应用程序的行为(但我想在控制台中看到错误很难看)。您可以通过提前在聚合上应用过滤来避免这种情况(例如直接在 View 中而不是在 Controller 内部)。

如果您可以向我们展示您正在过滤哪些聚合(可能来自 JS)以及如何在 View 中定义它,也许我们可以提出更具体的解决方案。

关于javascript - ODATA 请求已中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42443029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com