如何将 SAP UI5 模型响应与处理函数绑定

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

我有一个功能,可以在按下保存按钮时在后端创建一个条目。

创建条目代码:

var oModel = this.getModel('action');
oModel.create(path, body, {
  success: this._onSuccess.bind(this),   //How to pass response along with the bind function
  error: this._onError.bind(this)
});
_onSuccess: function (response) {
  // Response is not having any headers
  //Show some success message
},

我没有直接调用该函数,而是将

_onSuccess
函数绑定到
oModel.create
success
处理程序。从后端,我沿着 (POST) 响应发送一些标头参数,我需要在
_onSuccess
消息内访问并显示这些参数。

当我直接将函数包含在

success
处理程序中时,我可以看到响应,但如何沿着绑定参数发送它?

这正在工作

callCreate: function (path, body) {
  var oModel = this.getModel('action');
  oModel.create(path, body, {
    success: function (data, response) {
        //I am able to get the response headers here
    },
    error: this._onError.bind(this)
  });
},
javascript sapui5
1个回答
0
投票

oModel.create()
正在使用 2 个参数调用
_onSuccess
data
response
。当您将
this
绑定到
_onSuccess
时,它不会更改
oModel.create()
传递给
_onSuccess
的参数。

您应该能够像这样访问

response
中的
_onSuccess

_onSuccess: function (data, response) {
    // You should be able to access the response headers here
}

然后像您所做的那样绑定函数:

oModel.create(path, body, {
    success: this._onSuccess.bind(this)
    error: this._onError.bind(this)
});
© www.soinside.com 2019 - 2024. All rights reserved.