En este artículo, veremos cómo crear un Corona Virus Tracker de línea de comandos usando Node.js. Haremos un seguimiento de los casos totales, los casos activos, los casos totalmente recuperados y las muertes totales de los estados indios.
Enfoque: Usamos un paquete npm llamado ‘solicitud’ para obtener datos de la API covid-19 disponible públicamente https://api.covid19india.org/data.json
Limpiaremos los datos obtenidos e imprimiremos los datos usando ‘console.table( )’ comando que formateará los datos en la tabla. También podemos automatizar el rastreador programando el proceso usando el método setInterval().
paquete de solicitud: la solicitud está diseñada para ser la forma más sencilla posible de realizar llamadas http. Es compatible con HTTPS y sigue los redireccionamientos de forma predeterminada.
Instalación del paquete de solicitud:
$ npm install request
Nota: Ejecute este comando en la carpeta actual, donde se encuentra el archivo ‘app.js’.
Sintaxis para la solicitud:
request(url, (error, response, body) => { if(!error && response.statusCode == 200) { statements to be executed. } }
Dónde,
- url: punto final de la API al que se realiza la solicitud.
- respuesta: los códigos de estado de respuesta HTTP indican si una solicitud HTTP específica se ha completado con éxito.
- cuerpo: datos de respuesta.
Ejemplo:
// Importing the request package const request = require("request"); // API endpoint to which the http // request will be made const url = "https://api.covid19india.org/data.json"; // HTTP request request(url, (error, response, body) => { // Error - Any possible error when // request is made. // Eesponse - HTTP response status codes // indicate whether a specific HTTP // request has been successfully completed // body - response data // 200 - successful response if (!error && response.statusCode == 200) { // The response data will be in string // Convert it to Object. body = JSON.parse(body); // The data have lot of extra properties // We will filter it var data = []; for (let i = 0; i < body.statewise.length; i++) { data.push({ "State": body.statewise[i].state, "Confirmed": body.statewise[i].confirmed, "Active": body.statewise[i].active, "Recovered": body.statewise[i].recovered, "Death": body.statewise[i].deaths }); } console.log("-----Total Cases in India " + "and in each state-----"); // Format to table console.table(data); } })
Producción: