Javascript中的异步函数和Node事件循环
异步函数,程序继续运行。它不会等待!这样可以减少用户的等待时间。此外,Javascript 作为一种编程语言本身就是异步的。
例如,如果代码中正在运行一个代价高昂的请求,这可能需要很长时间,那么对于异步函数,等待时间会过长,用户也无法执行任何其他操作!
因此,通常在执行代价高昂且耗时的操作时,我们更倾向于使用异步代码。
让我们来看一个 Javascript 中异步函数的例子−
示例
console.log('One'); jQuery.get('page.html', function (data) { console.log("Two"); }); console.log('Three');
输出
One, Two, Three
现在,让我们看看 Node 中的事件循环是什么。
事件循环是在线程调度中创建的,其中操作是我们的线程在任何给定时间点应该执行的。
任何 Node.js 应用程序都包含对各种事件(例如传入连接、I/O 完成、超时过期、Promise 解析等)做出反应而执行的回调函数。主线程(我们现在知道它是事件循环)执行所有这些回调函数。
当事件循环运行时,Node 在每次迭代中都会检查它是否正在等待任何异步 I/O 或计时器。如果没有找到任何内容,则 Node 会将其关闭。
广告