首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS原生NextEventLoop

JS原生NextEventLoop
EN

Stack Overflow用户
提问于 2017-05-23 02:12:01
回答 1查看 21关注 0票数 0

鉴于异步编程在很久以前就已经在Javascript中司空见惯,在我看来,对window.setTimeout的调用数量似乎非常类似于黑客。我了解虚拟机是如何工作的,以及事件循环是如何工作的。关键是,有没有人知道为什么ecma的作者不选择添加某种"nextEventLoop“或"defer”调用,这些调用将强制逻辑块稍后执行?

每当我看到setTimeout(0)时,我都会畏缩,因为从来没有作者打算将超时设置为零。那么,为什么还要继续强迫我们进行这种攻击呢?

或者,有没有更好的选择?

EN

回答 1

Stack Overflow用户

发布于 2017-05-23 02:26:47

在ES6中,Promise.resolve().then(() => { ... })做了很多你想做的事情,并且对于大多数仍然只有ES5的环境来说,Promise polyfills是可用的。大多数polyfills甚至在可能的情况下避免使用setTimeout,而倾向于更好、更快的选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44119470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档