读取成功处理程序中的 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...
  }
});