异步功能,程序继续运行。它不等!这样,减少了用户的等待时间。同样,作为编程语言的Java脚本本身也是异步的。
例如,如果在代码中我们正在运行一个昂贵的请求,这可能需要很多时间,那么在使用异步功能的情况下,等待时间将过多,并且用户也将无法执行其他任何操作!
因此,通常在执行昂贵且耗时的操作时,我们更喜欢使用异步代码。
让我们以javascript中的Anyncronous函数为例 -
console.log('One'); jQuery.get('page.html', function (data) { console.log("Two"); }); console.log('Three');
输出结果
One, Two, Three
现在,让我们看看Node中的事件循环是什么。
事件循环是在线程计划内创建的,在该线程计划中,我们的线程应在任何给定的时间点执行操作。
任何Node.js应用程序都包含响应各种事件(例如传入连接,I / O完成,超时到期,Promise解决方案等)而执行的回调。主线程(我们现在称为事件循环)执行所有这些回调。
当事件循环运行时,对于每次迭代,节点都会检查它是否正在等待任何异步I / O或计时器。如果未找到任何内容,则该节点将其关闭。