点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
我想从odata中读取数据并处理数据,然后设置为表以显示结果。
这是我的想象力。
*************************************************** ******************************************
OModel1.read(" EntitySet1",{成功:函数(odata1){
odata1循环⇒处理①
OModel2.read(" EnitySet2(odata1)",{成功:函数(odata2){
处理odata 2和odata 1的数据。 过程②
endloop}
});
Table.setProperty(odata2.value,odata1.value);}}); ⇒过程③
*************************************************** ******************************************
当我读取Omodel2时,结果数据无法输出并再次循环odata1。 循环后,执行过程③,然后进行②。
因此数据无法正确显示。
如何在表设置属性之前获取Process②的数据。
我将使用批处理值设置为true或false。 读取操作没有变化。
最好的问候
Phyo
这是您可以利用Promise功能的地方。
对于读取请求都使用两个Promise,在两个Promise成功之后,执行数据操作。 例如。 如下:
那里有很多博客,请查看它们:
https://blogs.sap.com/2019/01/28/call- 当一切都做完时我回来...如何承诺。所有使生活变得轻松/
https://www.nathanhand.co.uk/blog/post/better-odata-handling-in-ui5 -using-promises-part-1
-Mahesh
否,您无法在javascript中完成此操作,可以在google中找到它,这是通用的javascript代码; 但是我只是为odata2result做的。
您可以使用如下所示的odata odata1result过滤odat2result,如下所示,您可以搜索google,从另一个数组中过滤arrary
https://stackoverflow.com/questions/46894352/filtering-an-array-of- 基于JavaScript的另一个数组中的对象
-Mahesh
检查我的包装函数,以使每个odata操作都可以实现诺言: a hraf=" https://blogs.sap.com/2018/09/17/ui5-odata-requests-with-promises/"> https://blogs.sap.com/2018/09/17/ui5- odata-requests-promise/
亲爱的
感谢您的建议。
我想使用从oPromise1检索的值作为oPromise2的参数(填充符)。
我想知道我不能读取odata内循环并且不能同时操作吗?
这是我的要求。
例如。 odata1具有[cus1,AAA],[cus1,BBB],[cus2,AAA]
odata2具有[cus1,AAA,1000],[cus1,AAA,1000],[cus1,AAA,1000],[cus1,BBB,1000],[cus1,BBB,1000],[cus1,BBB, 1000],[cus2,AAA,1000],result⇒[cus1,AAA,3000],[cus1,BBB,3000],[cus2,AAA,1000]
最好的问候
一周热门 更多>