我们应该避免节点 js 中的同步 I/O 调用吗?

should we avoid synchronous I/O calls in node js?

由于 Node.js 是单线程、事件驱动的体系结构,可以进行同步 I/O 调用吗?还是我们应该始终使用回调,承诺获取数据?

如果您的程序是一个旨在服务于多个请求的服务器,那么您不应该在启动或关闭代码之外的任何地方使用任何同步 I/O,因为这样做会阻止一个请求,从而破坏服务器的可扩展性并且只有运行您的 Javascript 的线程强制所有请求按顺序处理,一次处理一个请求,而不是一次处理多个请求。

这实际上是可扩展性的 100 倍牺牲。

通常在 node js 中,你永远找不到一个好的你的案例来更喜欢同步用例。好的选择总是Promise/async await,只是为了运行时的单线程结构(你说的对)。