Files
freeCodeCamp/guide/portuguese/nodejs/index.md
Randell Dawson 0a1eeea424 fix(guide) Replace invalid prism code block names (#35961)
* 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
2019-05-15 19:08:19 +02:00

2.6 KiB

title, localeTitle
title localeTitle
Node.js Node.js

Node.js

O Node.js é um tempo de execução de JavaScript criado no mecanismo JavaScript V8 do Chrome. O Node.js usa um modelo de E / S sem bloqueio orientado a eventos que o torna leve e eficiente. O ecossistema de pacotes do Node.js, npm, é o maior ecossistema de bibliotecas de código aberto do mundo.

Vamos acabar com isso.

  • Tempo de execução de Javascript criado no mecanismo JavaScript V8 do Chrome.
    Cada navegador tem um mecanismo JavaSript embutido para processar arquivos JavaScript contidos em sites. O Google Chrome usa o mecanismo V8, que é criado usando o C ++. O Node.js também usa esse mecanismo super rápido para interpretar arquivos JavaScript.
  • O Node.js usa um modelo controlado por eventos.
    Isso significa que o Node.js aguarda determinados eventos. Em seguida, ele age nesses eventos. Os eventos podem ser qualquer coisa, desde um clique até uma solicitação HTTP. Também podemos declarar nossos próprios eventos personalizados e fazer o node.js escutar esses eventos.
  • O Node.js usa um modelo de E / S sem bloqueio.
    Sabemos que as tarefas de E / S levam muito mais tempo do que as tarefas de processamento. O Node.js usa funções de retorno para lidar com tais solicitações.

Vamos supor que uma tarefa de E / S específica leve 5 segundos para ser executada. E queremos executar essa E / S duas vezes em nosso código.

Python

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(); 

Ambos parecem semelhantes, mas o tempo gasto para executar é diferente. O código python leva 10 segundos para ser executado enquanto o código Node.js leva apenas 5 segundos para ser executado.

O Node.js leva menos tempo devido ao seu modelo de E / S sem bloqueio. A primeira chamada para my_io_task() inicia o cronômetro e o deixa lá. Ele não espera pela resposta da função, em vez disso, passa a chamar o segundo my_io_task() , inicia o cronômetro e o deixa lá.

Quando o temporizador conclui sua execução, levando 5 segundos, ele chama a função e as impressões done no console. Já que ambos os temporizadores são iniciados juntos, eles se completam juntos e, portanto, levam o mesmo tempo.

Mais Informações: