读取成功处理程序中的 OData 读取不起作用
OData read inside a read success handler not working
我是 SAPUI5 的新手,遇到了问题...
当我使用 read
函数从 OData 服务获取值时,我试图在成功函数中使用另一个 read
函数,使用一个过滤器,其值是我从第一次阅读中获得。
这可能吗?
到现在好像是读取成功了,但是并没有执行下一次读取。
var filters = new Array();
var first_Filter = new sap.ui.model.Filter({
path: "userId",
operator: sap.ui.model.FilterOperator.EQ,
value1: userId
});
filters.push(first_Filter);
this.getOwnerComponent().getModel().read("/users", {
filters: la_filters,
success: function(oData, response) {
var data = oData.results[0];
var jobid = data.jobId;
var filters2 = new Array();
var second_Filter2 = new sap.ui.model.Filter({
path: "idJob",
operator: sap.ui.model.FilterOperator.EQ,
value1: jobid
});
filters2.push(second_Filter2);
this.getOwnerComponent().getModel().read("/jobs", {
filters: la_filters2,
success: function(oData2) {
// read odata ,get value and pass it on...
}
});
}
});
第二个 read
中的 this
不正确。
保存对 this
的引用(在第一次读取之外),如 var that = this;
并使用它使第二个 read
像
that.getOwnerComponent().getModel().read("/jobs", {
filters: la_filters2,
success: function(oData2) {
// read odata ,get value and pass it on...
}
});
我是 SAPUI5 的新手,遇到了问题...
当我使用 read
函数从 OData 服务获取值时,我试图在成功函数中使用另一个 read
函数,使用一个过滤器,其值是我从第一次阅读中获得。
这可能吗?
到现在好像是读取成功了,但是并没有执行下一次读取。
var filters = new Array();
var first_Filter = new sap.ui.model.Filter({
path: "userId",
operator: sap.ui.model.FilterOperator.EQ,
value1: userId
});
filters.push(first_Filter);
this.getOwnerComponent().getModel().read("/users", {
filters: la_filters,
success: function(oData, response) {
var data = oData.results[0];
var jobid = data.jobId;
var filters2 = new Array();
var second_Filter2 = new sap.ui.model.Filter({
path: "idJob",
operator: sap.ui.model.FilterOperator.EQ,
value1: jobid
});
filters2.push(second_Filter2);
this.getOwnerComponent().getModel().read("/jobs", {
filters: la_filters2,
success: function(oData2) {
// read odata ,get value and pass it on...
}
});
}
});
第二个 read
中的 this
不正确。
保存对 this
的引用(在第一次读取之外),如 var that = this;
并使用它使第二个 read
像
that.getOwnerComponent().getModel().read("/jobs", {
filters: la_filters2,
success: function(oData2) {
// read odata ,get value and pass it on...
}
});