js中await能否阻塞线程?
await能否阻塞线程,或者说Promise是否能阻塞线程(长时间不resolve和reject),是否和confirm框一样?想用await promise实现一个自定义的confirm组件来达到阻塞线程,等待用户点击确定的组件,是否可行?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
await只会阻塞当前函数内的处理逻辑,并不能阻塞浏览器,等同于promise.then,无法做到confirm框一样的效果
并不阻塞。
await / async
只是个语法糖,让你代码写起来跟同步代码一样,但本质上它还是异步的。并不阻塞,无法实现类似于 alert 之类的功能。
因为他只是把你当前执行的放入回调中了,如果还有其他微任务和宏任务是无法阻塞的。
alert、同步ajax 他们直接挂起进程了。其他任务队列的任务也不会执行,需要等待。