2013-12-15 60 views
1

的Node.js有synchronous versions进行文件操作:同步的NodeJS实现IO

fs.writeFileSync(file, data, ...) 

this blog,底层操作系统调用还是异步的(验证使用DTrace),以及所有的同步版本确实是“阻止事件循环“。

这是什么意思阻止事件循环(故意)?是像连续setImmediate()或更低级别的东西?

回答

1

这是什么意思阻止事件循环(故意)?

这只是意味着v8在等待IO完成时不会运行任何用户级JavaScript代码。通常情况下,v8会在等待IO时执行JavaScript,包括您的应用程序正在使用的JavaScript和任何库,但在这种情况下它不会。想一想的一种方法是当IO发生时,你的整个程序暂停,而通常你的程序继续执行。

+0

不知道这真的回答了这个问题,但实际上任何while(true)循环都会完成这个 –