En este repositorio se estudia el asincronismo en JavaScript con la api de rick and morty, usando la api se usa XMLHttpRequest con implementaciones como: callback, promise, async-await.
En cada carpeta se encuentra el siguiente contenido:
- Se define una estructura general de un callback, promise, async-await, respectivamente.
- Una vez entendido cuál es la estructura general se realiza el consumo de la api usando XMLHttpRequest implementado en con: callbacks, promise, async-await respectivamente.
- Las consultas a la api siempre serán las mismas pero implementadas de distintas maneras:
- Primero se consulta toda la información del universo rick and morty.
- Luego se toma un personaje y se muestra el nombre.
- Por último se consulta la dimensión que pertenece ese personaje.
Referencia:
Para realizar las peticiones xhttprequest Instala la dependencia xhttprequest en modo desarrollador para poder ejecutar peticiones en node, verificamos la instalación
npm init
npm install xmlhttprequest --save
Una vez inicializado el proyecto se puede ejecutar el código configurando en el package.json un script.
Para ejecutar los archivos con npm run alias-file
, en el archivopackage.json
en la sección de scripts
, se agrega un alias y el valor será node [dirección del archivo]
, como se muestra en el siguiente ejemplo
"scripts": {
"callback:asincrono": "node src/callback/callback-estructura-asincrono.js",
"callback:sincrono": "node src/callback/callback-estructura-sincrono.js",
"callback:challange": "node src/callback/rick-and-mortis-callback.js",
"promise": "node src/promises/promesas-estructura.js",
"promise:challange": "node src/promises/rick-and-mortis-promise.js",
"async-await": "node src/promises-with-async-await/async-await-estructura.js",
"async-await:challange": "node src/promises-with-async-await/rick-and-mortis-asyc-await",
"test": "echo \"Error: no test specified\" && exit 1"
},
para los anteriores scripts se ejecutará con npm run
de la siguiente manera
npm run callback:asincrono
npm run callback:sincrono
npm run callback:challange
npm run promise
npm run promise:challange
npm run async-await
npm run async-await:challange