如何将回调函数与MessageBox分开。

2020-08-22 22:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝试创建一个在用户...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试创建一个在用户按下确认消息框上的删除按钮后删除数据的功能。

我知道它将遵循以下代码;

 MessageBox.confirm(
  "删除数据?",{
  标题:"删除确认",
  onClose:function(oAction){
    开关(oAction){
      情况"确定":
      /*做删除操作*/
        打破;
      默认:
        打破;
  }
 ); 

但是,我想知道如何将回调函数与MessageBox的代码分开,如下所示,因为此应用程序在删除后需要后期处理,因此代码将更长,我认为不应将其包含在代码中 调用MessageBox。

 ~~~~~~~
 MessageBox.show(
  "删除数据?",{
  标题:"删除确认",
  onClose:"。afterDeleteConfirmation"
 );

 ~~~~~~

 afterDeleteConfirmation:function(oAction){
    开关(oAction){
      情况"确定":
      /*做删除操作*/
        打破;
      默认:
        打破;
  } 
4条回答
太Q了
2020-08-22 23:10 .采纳回答

使用Promise进行回调。

https://developer.mozilla.org/ zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise

参见下面的代码

 fnConfirmationMsg:function(sMessage,sConfirmation){

   返回新的Promise((fnResolve,fnReject)=> {
         MessageBox.show(sMessage,{
              标题:sConfirmation,
              onClose:fnResolve
              }
         );
   });
  };

 deleteRecord:function(oData){
   this.fnConfirmationMsg("删除数据?","删除确认").then((sAction)=> {
         开关(oAction){
          情况"确定":
           /*做删除操作*/
            打破;
         默认:
            打破;
       })
 }; 

一周热门 更多>