此代码有效,因为系统睡眠会阻止主线程的执行,但不会阻止回调。但是,我担心 system-sleep 不是 100% 可移植的,因为它依赖于依赖 C++ 的deasync npm 模块。
是否有任何替代系统睡眠的方法?
var sleep = require('system-sleep')
var done = false
setTimeout(function() {
done = true
}, 1000)
while (!done) {
sleep(100) // without this line the while loop causes problems because it is a spin wait
console.log('sleeping')
}
console.log('If this is displayed then it works!')
PS 理想情况下,我想要一个适用于 Node 4+ 的解决方案,但有总比没有好。
PPS 我知道睡觉不是最佳做法,但我不在乎。我厌倦了反对睡觉的争论。