我有一个带有按钮的对话框。单击后,按钮将调用异步方法,该方法将根据发布的数据是否有效返回true或false。
点击事件会调用以下方法。
现在,问题是在执行回调函数之前调用closeDialog!
我该如何进行这项工作?

谢谢

close: function (srcCmd) {
   var closeResult = true;
   asyncThing(function(result) {
      if (result)
         closeResult = true;
      else
         closeResult = false;
   });

   if (closeResult !== false) {
       this.closeDialog();
   }
},

最佳答案

当异步调用完成时(无论何时),都会调用带有asyncThing的函数。因此,这不会逐行解释。

如果有问题,将后者移到回调函数,就可以了。

close: function (srcCmd) {
   var closeResult = true;
   asyncThing(function(result) {
       if (result)
           closeResult = true;
       else
           closeResult = false;
    if (closeResult !== false) {
       this.closeDialog();
    }
  });
},

关于javascript - 等待异步调用完成-为时已晚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38185587/

10-10 01:17