异步Vs在NodeJS中同步

Uda*_*iya 9 javascript node.js

我是NodeJS的新手.我已经看到同一个任务有单独的异步和同步函数(例如:{ fs.writeFile,fs.writeFileSync},{ fs.read, fs.readSync}).

谁能解释为什么会这样?有什么区别?

Cra*_*dks 14

异步:

  1. 发送请求
  2. 继续其他代码
  3. 在回调中随时响应

同步:

  1. 发送请求
  2. 等待回应
  3. 在回复后继续使用其他代码


Fro*_*ost 9

同时具有这些操作的同步和异步验证的原因是它们可能非常耗时,并且由于node.js具有单线程主事件循环,因此在任何情况下都不希望使用慢同步来阻止事件循环函数调用.

这就是为什么一切都是使用回调(或承诺,誓言,或者你在异步的东西中的特殊品味)来完成的原因.通过这种方式,您可以拥有一个事件循环,该循环只调用异步函数并在回调中处理异步函数的结果.

这是node.js的主要优势之一,也是基本规则之一:"不要阻止主事件循环".