* fix: replace sh with shell fix replace terminal with shell fix replace node with js fix replace output with shell fix replace cs with csharp fix replace c++ with cpp fix replace c# with csharp fix replace javasctipt with js fix replace syntax with js fix replace unix with shell fix replace linux with shell fix replace java 8 with java fix replace swift4 with swift fix replace react.js with jsx fix replace javascriot with js fix replace javacsript with js fix replace c++ - with cpp fix: corrected various typos fix: replace Algorithm with nothing fix: replace xaml with xml fix: replace solidity with nothing fix: replace c++ with cpp fix: replace txt with shell fix: replace code with json and css fix: replace console with shell
2.2 KiB
2.2 KiB
title, localeTitle
title | localeTitle |
---|---|
Node.js | Node.js的 |
Node.js的
Node.js是一个基于Chrome的V8 JavaScript引擎构建的JavaScript运行时。 Node.js使用事件驱动的非阻塞I / O模型,使其轻量且高效。 Node.js的包生态系统,npm,是世界上最大的开源库生态系统。
让我们分解吧。
- 基于Chrome的V8 JavaScript引擎构建的Javascript运行时。
每个浏览器都内置了一个JavaSript引擎来处理网站中包含的JavaScript文件。 Google Chrome使用的是使用C ++构建的V8引擎。 Node.js也使用这个超快引擎来解释JavaScript文件。 - Node.js使用事件驱动的模型。
这意味着Node.js等待某些事件发生。然后它会对这些事件采取行动。事件可以是从单击到HTTP请求的任何事件。我们还可以声明自己的自定义事件,并使node.js监听这些事件。 - Node.js使用非阻塞I / O模型。
我们知道I / O任务比处理任务花费的时间更长。 Node.js使用回调函数来处理此类请求。
让我们假设一个特定的I / O任务需要5秒才能执行。 我们希望在代码中执行两次此I / O.
蟒蛇
import time
def my_io_task():
time.sleep(5)
print("done")
my_io_task()
my_io_task()
Node.js的
function my_io_task() {
setTimeout(function() {
console.log('done');
}, 5000);
}
my_io_task();
my_io_task();
两者看起来相似,但执行时间不同。 python代码需要10秒才能执行,而Node.js代码只需5秒即可执行。
Node.js由于其非阻塞I / O模型而花费的时间更少。第一次调用my_io_task()
启动计时器并将其my_io_task()
在那里。它不等待函数的响应,而是继续调用第二个my_io_task()
,启动计时器并将其my_io_task()
在那里。
当计时器完成它的执行需要5秒时,它会调用该功能并在控制台上done
打印。因为,两个定时器一起启动,它们一起完成,因此需要相同的时间。