点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在执行更新操作,成功之后,我将隐藏我的按钮。 但是发生了一个问题,变量chkupdate在回调成功内部,但是在调试浏览器上,我看到运行时顺序为:
1)更新命令
2)IF命令
3)回调成功函数
为什么会这样? 为什么会延迟进入回调函数? 我如何等待回调返回并仅在进入IF情况之后??
关注我的代码:
oModel.update("/img/Z_SFLIGHT_CRUD(Carrid ='" + oArgs.AirlineCode +"',Connid ='" + oArgs.Flight +"',Fldate = datetime'" + dateFormatted +"')" ,oObject,
{成功:函数(oData,oResponse){
sap.ui.getCore()。chkupdate =" X" ;
},错误:function(){
});
如果(sap.ui.getCore()。chkupdate ===" X")
{
this.UpdateControls();
oModel.refresh();
}
最好的问候,
您好 Felipe Gueiros ,
这称为异步处理。 如果您了解更多信息,它将非常漂亮。 只是google承诺使用javascript进行异步处理,有很多资料。
对于您的问题,我认为您必须使用V2模型,并且它是异步的。 V1 odata模型具有同步性,但现在已过时。
在您的情况下,成功处理请求后,异步调用成功处理程序函数,因此与此方法执行之后的所有代码都将被执行。
那么如何解决您的问题?
只需在成功函数处理程序中编写的代码即可编写代码。 但请确保您的函数处理程序采用以下格式
BR <,
Mahesh
I
嗨,Mahesh,
您解决了我的问题!
我了解异步处理的概念,但是 我认为在此解决方案中,因为我的外部函数未在成功函数内部读取。
但是有了附加的bind(this),情况发生了变化!
非常感谢!
BR,
Felipe
太好了!您可以通过将答案标记为接受来结束该问题。
一周热门 更多>