以前的web应用,一笔业务流程,会提示好几次确定、取消:确定继续执行代码,取消终止业务流程。
以前的代码是阻塞式的,没有点击‘确认’、‘取消’按钮,后边的代码是不会执行的。
现在项目重构,弹窗都是个div弹窗,无法阻塞后续的代码。
想问问,目前js框架有没有实现阻塞式的div弹窗。(目前是使用回调,把后续的代码写道回调方法里,但是当确认、取消后有2个以上,代码就很复杂了,而且后续想再业务流程中再添加一个确认、取消的判断很难改。)
以前的web应用,一笔业务流程,会提示好几次确定、取消:确定继续执行代码,取消终止业务流程。
以前的代码是阻塞式的,没有点击‘确认’、‘取消’按钮,后边的代码是不会执行的。
现在项目重构,弹窗都是个div弹窗,无法阻塞后续的代码。
想问问,目前js框架有没有实现阻塞式的div弹窗。(目前是使用回调,把后续的代码写道回调方法里,但是当确认、取消后有2个以上,代码就很复杂了,而且后续想再业务流程中再添加一个确认、取消的判断很难改。)
真要解决阻塞的话,可能得要用es7的await。至于目前来说,promise可能会好一些,但是个人觉得在这一点上和封装较好回调差别并不大。
另外,如果有两层以上的确定取消嵌套的话,我觉得这个交互可能存在一点问题了吧。。
想问问,目前js框架有没有实现阻塞式的div弹窗。
没有。除了 confirm
, prompt
之外,没有你理解的“阻塞”。
js 的环境是异步的,异步用“回调”,而不用“返回”。
我觉得你的思路是有问题的 改成div弹窗和阻塞不阻塞并没有关系 弹窗出现点击确定和取消 可以使用枷锁或者遮罩来阻止用户其他操作 把代码的功能尽量封装细一点 方便自己理清逻辑
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
js没法实现模式对话框,不过可以用await或者promise来实现类似的效果,避免深度回调