Vea los comentarios en el código para ver lo que realmente sucede/no sucede. Básicamente, dentro de la función, el método array.push() no parece funcionar y no puedo entender por qué. Cualquier ayuda sería apreciada.
var locationArray = new Array; request(process.env.RESOURCE_SHEET, (error, response, html) => { if(!error && response.statusCode == 200) { const $ = cheerio.load(html); $("h3").each((i, lle) => { const location = $(lle).text(); if(location.includes("Kansas")) return; if(location.includes("In Stock")) { var level = location + " ✅"; } else { var level = location + " ❌"; } locationArray.push(level); // This doesn't push to the array }); } }); locationArray.push("test") // This pushes to the array console.log(locationArray) // Output: "test"Gracias a Harsh Saini.
Su respuesta: la request funciona de forma asíncrona, debe intentar consolar la matriz dentro de la devolución de llamada de la solicitud.
Código de trabajo:
var locationArray = new Array; request(process.env.RESOURCE_SHEET, (error, response, html) => { if(!error && response.statusCode == 200) { const $ = cheerio.load(html); $("h3").each((i, lle) => { const location = $(lle).text(); if(location.includes("Kansas")) return; if(location.includes("In Stock")) { var level = location + " ✅"; } else { var level = location + " ❌"; } locationArray.push(level); }); } console.log(locationArray) });