我是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...
}
});
}
});
答案 0 :(得分:0)
第二个this
中的read
不是正确的。
像this
一样保存对var that = this;
的引用(在第一次读取之外),并使用它来使第二个read
像
that.getOwnerComponent().getModel().read("/jobs", {
filters: la_filters2,
success: function(oData2) {
// read odata ,get value and pass it on...
}
});