功能结束后显示的消息框

MessageBox shown after function is over

我有一个 javascript 函数调用我的 javascript 函数,我的函数是这样的:

function sugParitValidation(){
   var isValid = false;
   Ext.MessageBox.confirm('  ','Are you sure you want to do this?',  function(btn){
      if(btn == 'yes'){
      isValid = true;
    }
 });
 return isValid ;
}

我的问题是 - if 语句和 return 语句正在发生,只有在那之后才显示确认 window。 这样我就无法对用户的选择做出反应。 如何解决这个问题?已经尝试使用 setTimeOut,完全没有变化....

我认为你正在尝试做这样的事情。

someFunction(){
     if(sugParitValidation()){
          //todo something
     }
     else{
          //todo another thing
     }

}

您可以使用回调轻松地做到这一点。这是例子。

someFunction(){
     var messageCallback = function(btn){
          if(btn === 'yes'){
               //todo something
          }
          else{
              //todo another thing
          }

     }
     Ext.MessageBox.confirm('  ','Are you sure you want to do this?', 
     messageCallback);
}