Node.js 소개 - 2부

이벤트 루프는 Node.js에서 assíncrono로 전환, 이벤트로 전환 등을 포함합니다.

모도 사인크로노



No modo síncrono, deve se esperar o termino de execuação de uma linha para seguir para a proxima.

const fs = require("fs")

const input = fs.readFileSync("input.txt", "utf-8")
console.log(input)


O modo síncrono também é conhecido como "blocking code".
Ou seja, cada linha espera o resultado da linha anterior para pode seguir o fluxo.


Perceba que o resultado na tela saiu na ordem esperada.

모도 아신크로노



Essa operação de IO demora um pouco para finalizar, então como é assíncrono, ele vai rodar e vai passar reto enquanto os dados não estiverem prontos e não pararem nela como no sync.js. Quando ele bater na linha ReadFile ele vai passar todas as camadas do SO pedindo para fazer esse IO e, internamente, vai gerenciar avisando quando estiver pronto para leitura ou dado um erro, vai ser chamado o callback.

No modo assíncrono, não espera o termino de execução de uma linha para ir para proxíma

const fs = require("fs")

fs.readFile("input.txt", "utf-8", (err, data) => {
  console.log(data)
})
console.log("Non-blocking Code")
console.log("Lendo o arquivo...")


Ele lê o arquivo em background e vai seguir o fluxo, enquanto os dados do background não estiverem prontos.
Quando estiver pronto para leitura ou dado um erro, vai ser chamado o callback.


console.log()를 입력하고 arquivo.txt를 입력하고 계속해서 메시지를 보내세요!

그게 뭐야?



스레드 é uma caixa com uma sequência de instruções를 상상해 보십시오.
O node usa apenas UMA thread para executar os codigos, ou seja, toda as requisições usam a mesma thread.

예 Event Loop?



O 이벤트 루프는 시스템 없이 응답하고 이벤트를 방출합니다.
No Node는 I/O(입력/출력) 이벤트와 관련이 없습니다.

Eventos de I/O(Input/Output) podem ser: ler e escrever arquivos locais ou fazer uma requisição http para uma API.

O 이벤트 루프는 이벤트 및 실행 프로그램 콜백을 통해 플럭스에서 발생합니다.

Fico por aqui, até breve!

좋은 웹페이지 즐겨찾기