Soy nuevo en Node JS y todavía estoy averiguando cómo funcionan las solicitudes API GET. Estoy tratando de llamar a la solicitud API GET usando Node Js, se supone que la función obtiene datos de los servidores y la URL será "url/books?name=" donde "name" se pasará a la función desde el campo de entrada. Hasta ahora tengo esta función.
async function getBooksInfo(name) { const url = `https://test/books?name=${name}`; return new Promise(function (resolve, reject) { https.get(url, res => { res.setEncoding("utf8"); let body = ""; res.on("data", data => { body += data; }); res.on("end", () => { body = JSON.parse(body); resolve(body) }); res.on("error", (e) => { reject(e); }); }); }) }
y otra función creará un flujo de entradas,
async function storeInfo() { const date = readLine().trim(); const result = await getBooksInfo(date); const isEmpty = !Object.keys(result).length; if (isEmpty) { ws.write('We don't have this book in our database'); } else { ws.write(`Book Name: ${result.bookName}`); ws.write(`Year: ${result.year}\n`) } }
pero por alguna razón, el flujo de entradas no está definido, parece que no entiendo cuál podría ser el problema. Cualquier ayuda y sugerencia es muy apreciada.
Actualizado: esto es lo que muestra console.log
{ page: 1, per_page: 100, total_pages: 20, data: [ { bookName: 'test', year: 1975, author: "test, } ] }