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

357
Vistas
¿Es posible hacer que xhr.onerror se dispare implícitamente?

Estoy creando un ayudante para cargar archivos en React Native, aunque no puedo disparar xhr.onerror, esperaba arrojar un error dentro de onreadystatechange al verificar el estado y el onerror se activaría, pero desafortunadamente no es así. Cualquier buen enfoque de cómo puedo manejar esto?

Aquí está el código completo:

 sendXHR = async ( url: string, formData: FormData, eventListeners: XMLHttpRequestEventTarget, ) => { let xhr = new XMLHttpRequest(); xhr.open('POST', `${API_URL}${url}`, true); const credentials: any = await retrieveToken(); xhr.setRequestHeader('Authorization', `Bearer ${credentials.password}`); xhr.upload.onabort = eventListeners.onabort; xhr.upload.onprogress = eventListeners.onprogress; xhr.upload.onerror = eventListeners.onerror; xhr.upload.onloadstart = eventListeners.onloadstart; xhr.onreadystatechange = () => { if (xhr.readyState === XMLHttpRequest.DONE) { const status = xhr.status; if (status < 200 || status >= 300) { throw new Error(xhr.statusText); } } }; xhr.send(formData); return { response: new Promise((resolve, reject) => { xhr.onload = () => { if (xhr.status >= 200 && xhr.status < 300) { resolve(xhr.response); } else { reject({status: xhr.status, message: xhr.statusText}); } }; xhr.onerror = () => { reject({status: xhr.status, message: xhr.statusText}); }; }), xhr, }; };
about 4 years ago · Juan Pablo Isaza
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