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

345
Vistas
La segunda función axios no se ejecuta después de llamar a la primera - Reaccionar

Tengo dos funciones axios configuradas en React. La primera función extrae una página para recuperar una lista de enlaces y devuelve aleatoriamente uno de esos enlaces. La siguiente función usa ese enlace como argumento para raspar esa página web y devuelve el título y el primer párrafo en una matriz. Entonces la segunda función depende de la primera.

Cuando trato de implementar esto usando el gancho useEffect , puedo hacer que funcione la primera función, pero la segunda función no recupera el enlace devuelto por la primera y da un error. Es como si el segundo no estuviera esperando que se devolviera el primero, a pesar de que usé await . ¿Alguien puede ayudarme a ver dónde me he equivocado?

 import getLink from "./getLink.js"; // Scrapes a page for an array of links, // returns one of those links randomly (string) import getPage from "./getPage.js"; // Scrapes the page from getLink, // returns [h1 text, p text] (array) import {useEffect,useState} from "react"; const Body = () => { const [text, setText] = useState([]); useEffect(() => { const getData = async () => { const link = await getLink(); const data = await getPage(link); setText(data); } getData(); }, []); return ( <div> <h1>{text[0]}</h1> <div dangerouslySetInnerHTML={{__html: text[1]}}></div> </div> ) } export default Body;

Mensaje de error : el acceso a XMLHttpRequest en 'enlace desde getLink' desde el origen 'http://localhost:3000' ha sido bloqueado por la política de CORS: No hay encabezado 'Access-Control-Allow-Origin' en el recurso solicitado.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Debe asegurarse de que haya CORS en el servidor al que solicita el texto. Puede incluir los encabezados correctos usando middleware, en caso de que esté usando express.js, eche un vistazo a los documentos del paquete cors.

Puede verificar los encabezados de respuesta ejecutando

 curl -v http://localhost:3000

Una solución temporal sería incluir { mode: 'no-cors' } en las opciones de solicitud.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El raspado funciona cuando agregué "proxy": "[domain name]" en package.json y eliminé los nombres de dominio de los enlaces que uso en mi proyecto.

De: https://www.youtube.com/watch?v=hxyp_LkKDdk

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