SAPUI5 ODataModel attachRequestCompleted函数被自动调用两次

问题描述 投票:1回答:1
oModelDetailData.attachRequestCompleted(function()
{
    var rowsCount =oModelDetailData.oData.getElementsByTagName("Row").length;
    oPassedFields=["C_INCIDENT_DATE_TIME","R_INCIDENT_DATE_TIME"];
    debugger;
    console.log(oModelDetailData);
    console.log(oPassedFields);
    updateTZ(oModelDetailData, oPassedFields, plantCode)
    debugger;
    console.log(oModelDetailData);
    oTableDetailData.setModel(oModelDetailData);
    oTableDetailData.bindRows({path: "/Rowset/Row/"});
    sap.ui.core.BusyIndicator.hide();
});

我如何防止oModelDetailData.attachRequestCompleted函数自动执行两次,我在代码中到处都使用了调试器,但找不到任何东西,因此updateTZ()也被调用了两次。

sapui5
1个回答
3
投票
您的模型的countMode是否设置为“ Request”?此模式触发另一个单独的请求。您可以尝试将其设置为“内联”,以便数据和计数在同一请求中。另外,您可以在触发回调后立即分离请求完成事件。

编辑

您还可以使用attachEventOnce(sEventId,oData ?, fnFunction,oListener?)方法。您可以在API参考here

中找到更多信息。
© www.soinside.com 2019 - 2024. All rights reserved.