fcoagz / consulta-dolar-venezuela

Utiliza la API de pyDolarVenezuela para obtener los valores actuales del dólar en Venezuela.
https://www.npmjs.com/package/consulta-dolar-venezuela
MIT License
21 stars 4 forks source link

No se como usar el paquete. #1

Closed easr97 closed 8 months ago

easr97 commented 8 months ago

Hola, soy nuevo en la programación de Node JS -de hecho, es la primera vez que interactúo con esta tecnología-.

Estoy aprendiendo a desarrollar en PHP-CSS-JS y mi proyecto es un manejador de inventarios.

Me estoy aprendiendo a defender con el JS y he logrado buenos progresos pero, cuando quise implementar tu desarrollo, para la consulta del valor del Dolar BCV, me doy contr un muro.

Instlé el Node JS en mi servidor de desarrollo y en mi computadora y no logro hacerlo caminar .

Puse este código en ventas.js y cuando lo corro me arroja este error.

ventas.js:33 Uncaught ReferenceError: require is not defined

Que estoy haciendo mal?

Hay alguna forma de elaborar la rutina específica de consulta del valosr del USD BCV, para su inclusión directa en JS en mi desarrollo y así no tener que depender de instalar Node JS en la máquina anfitriona o en el servidor, cuando quiera demostrar mi programa?

Gracias por adelantado.

Enrique Sifontes 0414 8677091 easr97@hotmail.com

easr97 commented 8 months ago

Perdón, el código al que hago referencia en el texto anterior, es este:

const { getMonitor } = require("consulta-dolar-venezuela");

getMonitor("BCV", "lastUpdate").then($ =>{console.log("Dolar BCV", $)}); /Obtener la ultima actualizacion del dólar en BCV/

fcoagz commented 8 months ago

Buenos días @easr97, sí intentas que retorne un valor, porque dices que creaste un módulo especial para eso, podrías intentar crear una función asíncrona. Y el código que proporcionaste solo hará que se ejecute directamente en el módulo de ventas y simplemente retornara la fecha, no el precio actual de la tasa.

Al menos que quieras utilizar la API, que podría ser un poco más cómodo saber cómo realizar una solicitud y manipular los datos obtenidos: https://github.com/fcoagz/api-pydolarvenezuela

easr97 commented 8 months ago

Gracias por tu atención y diligencia en la respuesta.

Mi idea, dentro de todo, es aprender porque, yo soy programador de la vieja escuela -lo más moderno a lo que llegué fue, a algo de .Net-.

Ahora, tengo algo de tiempo libre y quiero reeducar mi mente y, por eso, me estoy metiendo en estos berenjenales.

Con ese fondo presentado, entro en asunto:

Como dije, trato de crear un programa de manejo de inventarios y, entre otras cosas, la parte de facturación me obliga a considerar, por fuerza, la posibilidad de recibir pago en divisas. La idea es no depender de la diligencia de un empleado para el ajuste diario de la tasa de cambio sino, que el sistema lo haga en modo autónomo.

No quiero complicar más el proyecto -y mis viejas y cansadas neuronas- introduciendo ahora Node JS dentro de los requisitos para su instalación -ya con XAMPP llevo bastante-. Por eso te preguntaba si hay forma de hacer eso que lograste con Node JS, para los diferentes tipos de cambio, empleando rutinas en JS, para la tasa de cambio del BCV, dentro de mi desarrollo. Sé que debe poder hacerse pero, no tengo NPI de cómo lograrlo y, aunque es más sencillo solo usar una API, siento que no he aprendido nada, haciéndolo. Por eso mi consulta -y porque no quiero dejar mis ojos pegados de la pantalla, las próximas 2 semanas, hasta entender que diablos hace el NJS con tu código.

Tu ayuda en ese sentido será apreciada.

easr97 commented 8 months ago

Listo pana...

Me guié por lo que pones en la api-pydol...

usé el método get en JS:

$(document).on("click", ".btnpar", function(){ $.get("https://pydolarvenezuela-api.vercel.app/api/v1/dollar/unit/bcv", function(dataset, status){ console.log("Array ",dataset); console.log("Precio: ", dataset["price"]); }) })

Gracias por la colaboración.

easr97 commented 8 months ago

A mis 64, hoy aprendí que, siempre se puede aprender algo más, aunque solo sea a usar una API... ;)

Gracias, nuevamente.

fcoagz commented 8 months ago

El código proporcionado de la biblioteca node.js. El método then() retorna una Promesa . Recibe dos argumentos: funciones callback para los casos de éxito y fallo de Promise. Falto en el código sí falla posiblemente la función por no haber retornado el valor dado

easr97 commented 8 months ago

Ya me encargaré, en algún momento, de refinarlo pero, aquí aplica la primera ley de la programación: "Si funciona, déjalo así".

Gracias, una vez más.

easr97 commented 8 months ago

Creo ver de qué me hablas, el status me devuelve "success" si la API funcionó bien. Se me olvidó ponerte esa parte en el comentario. Manejando el status, lidio con el resto del procedimiento.

fcoagz commented 8 months ago

Sí, poco a poco, prioriza te en aprender cosas nuevas del lenguaje hay más de un método o algoritmo que puedas utilizar o crear que pueda facilitar el proceso, desarrolla tu lógica de programación. Te ayudará muchísimo. Saludos

fcoagz commented 8 months ago

No es tarde para aprender!

easr97 commented 8 months ago

Pana, buen día.

Hoy me encuentro con esto:

Access to XMLHttpRequest at 'https://pydolarvenezuela-api.vercel.app/api/v1/dollar/unit/bcv' from origin 'http://zora' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. ventas.js:35

    GET https://pydolarvenezuela-api.vercel.app/api/v1/dollar/unit/bcv net::ERR_FAILED 504 (Gateway Timeout)

send @ jquery.min.js:4 ajax @ jquery.min.js:4 r. @ jquery.min.js:4 (anonymous) @ ventas.js:35 dispatch @ jquery.min.js:3 q.handle @ jquery.min.js:3 Show 5 more frames Show less

Que puedes decirme?

easr97 commented 8 months ago

https://stackoverflow.com/questions/20035101/why-does-my-javascript-code-receive-a-no-access-control-allow-origin-header-i

$.ajax({ url: 'http://mysite.microsoft.sample.xyz.com/api/mycall', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, type: "GET", / or type:"POST" or type:"PUT" / dataType: "json", data: { }, success: function (result) { console.log(result); }, error: function () { console.log("error"); } });

FUNCIONÖ !!!, Ahora a ver, por cuanto tiempo...

fcoagz commented 8 months ago

Buenas tardes @easr97. Pasa que la página que se está haciendo la solicitud el tiempo de espera ha demorado bastante para obtener los resultados, puede que ser que apagaron el servidor. Intenta con otro page si es que deseas obtener el valor del dólar de BCV