OData的读取成功处理程序读取里面没有工作[复制]

问题描述 投票:-1回答:1

这个问题已经在这里有一个答案:

我是新来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...
      }
    });
  }
});
sapui5
1个回答
0
投票

第二thisread不正确的。

保存像this一个参考var that = this;(第一读取之外)并用它来使第二read

that.getOwnerComponent().getModel().read("/jobs", {
  filters: la_filters2,
  success: function(oData2) { 
    // read odata ,get value and pass it on...
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.