- Entorno de ejecucion de JavaScript fuera del navegador.
- Posibilidad de ejecucion en cualquier lado, orientado a servidores.
- Monohilo con entradas y salidas asincronas.
- Funciona en base a modulos.
- Orientado a eventos.
- Proceso en bucle que gestiona de forma asincrona todos los eventos del sistema.
- Entrada de eventos, request o functions al event queue.
- Si puede resolverlo rapidamente, lo hace, si no lo envia al thread pool.
- En el thread pool se ejecutan los procesos asincronicamente para no frenar el event loop.
Variables externas que usamos en nuestros eventos.
let envVariable = process.env.ENVVARIABLE || 'doesnt exist'; // La variable tiene que ser declarada, si no sera: 'doesnt exist'
ENVVARIABLE='our variable' node file.js
Herramienta para desarrollo que nos permite ejecutar permanentemente nuestro archivo y reiniciar automaticamente al detectar cambios
Herramienta para produccion que nos permite ejecutar permanente y en distinta sincronia nuestro archivo y ver asi metricas y logs importantes
- Funcion que se llama a si misma las veces que sea necesario
- Podemos usar una variable “times” que se vaya restando por cada vez que se ejecuta la funcion (—times)
- if times > 0 ejecuta la funcion entonces resta 1 a la variable
- Funciones anidadas mediante el uso de “new Promise( ){ }”, rejects y resolves (retornando variables que se usaran en funciones que continuan
- Dependencia de las ultimas funciones con las primeras
- Manejo de errores con “catch( ){ }”
node {file_name} # Ejecutar el archivo
nodemon {file_name} # Ejecutar el archivo con nodemon