Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

342
Vistas
Variable fuera del alcance (probablemente) - indefinido

Entonces, este fragmento de código está devolviendo la descripción de la palabra en json de https://sjp.pl/ webiste, palabra que el usuario proporcionó antes en el cuerpo de la solicitud json

Y el problema es que quiero devolver var 'desc' en res.send pero no está definido. ¿Cómo puedo acceder a eso y enviarlo?

Creo que eso se debe a que item.push($(this).text()) funciona solo en esta función axios y solo se puede acceder en este ámbito

 const item = []; var desc; app.post('/test', (req, res) => { const { word } = req.body; if(!word) { res.status(418).send({error: 'no word provided'}) } console.log(word) axios(`https://sjp.pl/${word}`).then(res => { const html = res.data const $ = cheerio.load(html) $('p').each(function() { item.push($(this).text()) }) desc = item[3] console.log(desc) // working until here }) console.log(desc) // undefined here res.send({ description: `${desc}` }) })
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Use res dentro de los axios como se muestra a continuación. Te estás volviendo undefined porque el desc de descripción termina dentro de esa función anónima. Además, el axios es async . Es posible que deba usar await para sync o puede seguir la idea que propuse a continuación.

 const item = []; var desc; app.post('/test', (req, res0) => { const { word } = req.body; if(!word) { res0.status(418).send({error: 'no word provided'}) } console.log(word) axios(`https://sjp.pl/${word}`).then(res => { const html = res.data const $ = cheerio.load(html) $('p').each(function() { item.push($(this).text()) }) desc = item[3] res0.send({ description: `${desc}` }) }) })
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda