今天遇到一个问题:

  layer弹出一个confirm提示窗,然后confirm还没有点击对应的按钮的时候,就已经执行了后续代码,我这里做出的判断是,是否需要进行后续操作,但是因为layer.confitm的非阻塞式的特性导致我这个控制失效,无法达到点击确定或者取消的效果。

研究了几个方法,都不怎么样,有些方法是把后续操作全部放到回调函数里面去,但是这个操作影响到我目前的逻辑,对方法的封装也不友好,所以就抛弃了。

  后面自己谷歌到一个通过async关键字来实现阻塞式弹窗的方法:直接上图

首先在你需要阻塞的方法的开始写关键字async,

 

 

 我这里是一个点击事件,所以直接function上加上async关键字。

然后内部需要阻塞执行的方法前面需要加上await关键字,如图:

 

 这样就可以让代码停在这个方法,需要注意的是,我这里的MrIsLocked()这个方法,在写方法具体逻辑的时候,也需要加async关键字,

也就是声明方法的时候,如图:

  简单的来说,就是在弹窗的方法声明时候加上async关键字,调用该方法的时候加上await关键字,就可以达到这个效果了。

如果有写的不对的,还望大佬们斧正。

版权声明:本文为Jiej818原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Jiej818/p/14231150.html