在工作中,我们可能会遇到循环体里面执行某些弹窗提示,通常用js原生的alert与confirm可以实现阻断,只有点击确认才继续执行。
但是,alert与confirm并不能控制样式等操作,尤其是想confirm的时候增加一个layer.tips吸附提示,你会发现confirm弹窗了,tips并没有执行。只有确认了confirm之后才执行~
鉴于此,我们可以基于async/await的原理来开发一个阻断控制器。
async function test() { console.log('sleep'); function backStop(ms) { let callback = null; layer.confirm('is not?', {icon: 3, title:'提示'}, function(index){ if(typeof callback == 'function')callback(); layer.close(index); },function (index) { if(typeof callback == 'function')callback(); layer.close(index); }); return new Promise(resolve => callback = resolve); } await backStop(); console.log('run'); } test();
未经允许不得转载:小罗同学 » layer.confirm 阻断执行实现方式