我是NodeJS的新手.我已经看到同一个任务有单独的异步和同步函数(例如:{ fs.writeFile,fs.writeFileSync
},{ fs.read, fs.readSync
}).
谁能解释为什么会这样?有什么区别?
同时具有这些操作的同步和异步验证的原因是它们可能非常耗时,并且由于node.js具有单线程主事件循环,因此在任何情况下都不希望使用慢同步来阻止事件循环函数调用.
这就是为什么一切都是使用回调(或承诺,誓言,或者你在异步的东西中的特殊品味)来完成的原因.通过这种方式,您可以拥有一个事件循环,该循环只调用异步函数并在回调中处理异步函数的结果.
这是node.js的主要优势之一,也是基本规则之一:"不要阻止主事件循环".
异步:
发送请求
继续其他代码
在回调中随时响应
同步:
发送请求
等待回应
在回复后继续使用其他代码