这个问题已经在这里有一个答案:
我是新来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...
}
});
}
});
第二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...
}
});