是否有可能在没有c代码的情况下在纯Javascript(nodejs)中编写同步阻塞IO?

  1. 是由devise阻止或不允许同步阻止IO?
  2. 为什么在Javascript中没有睡眠API? 这是由于上述点?
  3. 浏览器可以有多个单线程执行JavaScript吗? 为什么总是单线程?

以上几点(由于浏览器限制)是否使JavaScript成为服务器端非阻塞语言的理想语言?

浏览器将只能在一个线程中运行Javascript(至less每个域,除了Web Workers)。
这主要是为了简单; 直到最近,没有人写了一个JavaScript的线程API。

为了让浏览器更简单(更快),这个线程是浏览器UI线程。 因此,Javascript中的任何同步工作(或睡眠呼叫)都会冻结浏览器。
这就是为什么同步操作非常沮丧的原因。