【发布时间】:2019-12-07 01:16:41
【问题描述】:
如何创建一个永远循环并在节点 JS 中做一些事情的非阻塞 Promise。
什么是可行的替代方案?
let i = 0;
let p = new Promise(() => {
while(true){i++;}
});
console.log("foo");
【问题讨论】:
-
不要,使用事件循环。这就是 node.js 的真正好处。我不知道该怎么说。这样做会使 CPU 以 100% 的速度旋转并且是一种浪费。 IO 模式是 node.js 的核心优势。您能否更详细地描述为什么您认为这是您应该采用的方式,或者您的问题是什么?可能有更适合您的问题的模式。
-
我无法真正解释我的问题。我只想知道有没有办法让promise反复做某事而不会阻塞。
-
while 循环将始终阻塞,无论您隐藏了多少承诺/回调/事件。寻找另一种循环机制。你到底想反复做什么?了解什么肯定会帮助缩小哪种工具最适合这项工作。
标签: javascript node.js asynchronous while-loop promise