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

272
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 es porque item.push($(this).text()) funciona solo en esta función axios y solo se puede acceder a 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}` }) })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Use res dentro de los axios como se muestra a continuación. No está 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}` }) }) })
about 4 years ago · Juan Pablo Isaza 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