问题描述
我正在使用ODataModel V2,并且有3个延迟的请求组。如果有多个组的请求,我必须按特定顺序提交。 因此,我需要知道哪个组有待处理的请求。已经有一个聪明的方法了吗?
我的请求组的定义
到目前为止我发现的结果
- “删除”组很简单,如果有一个,则包含在“ oDataModel.mDeferredRequests”中。
- 如果还存在对“ changes”组的请求,则“ create”组仅包含在“ mDeferredRequests”中。因此,如果它包含在“ mDeferredRequests”中,我知道同时存在“创建”和“更改”的请求。
但是,如果只有“创建”或“更改”请求,则只能通过方法“ getPendingChanges”找到方法。 新创建的实体具有包含在元数据中的groupId,如下所示:
NewObject('id-123456-00'):
Attribute: "123"
__Metadata:
created:
changeSetId: "chgSet"
eTag: undefined
error: undefined
groupId: "create"
...
type: "..."
uri: "/sap/opu/odata/sap/..."
更改后的实体没有groupId,它们看起来像这样:
Updatedobject(Key='123'):
Attribute: "abc"
__Metadata:
id: ".../sap/opu/odata/sap/..."
type: "..."
uri: ".../sap/opu/odata/sap/..."
因此,我目前唯一的想法是遍历“ getPendingChanges”中的条目,并检查是否存在groupId。 由于我对这种解决方案不满意,所以我想问您,是否有一种更聪明的方法来确定带有待处理请求的组。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)