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

228
Vistas
¿Cómo puedo posponer timeouterror mediante programación asincrónica?

Estoy revisando una prueba de React y tengo un problema con la programación asíncrona.

Los requisitos son:

  • Se tarda 7 minutos en obtener una respuesta después de solicitar los datos. Pero, cuando la respuesta se retrasa durante 30 segundos, se producirá un error de tiempo de espera.

  • Verifique las especificaciones de la API, cumpla con estos requisitos:

    • Use la API que verifica el progreso de la solicitud de datos y haga que espere una respuesta.
      • Comprueba el progreso cada segundo.

Y la API es:

 import { rest } from 'msw'; export function handlers() { return [ rest.get('/api/data', getData), rest.get('/api/data/progress', getDataProgress), ]; }; const getData = async (req, res, ctx) => { let wait = req.url.searchParams.get('wait'); if (wait !== 'no') { wait = 'yes'; } try { startNewGetData(); if (wait === 'yes') { await Promise.race([waitLastGetData, timeout(minutes(7)), timeoutError(minutes(0.5))]); } return res(ctx.status(200)); } catch { return res(ctx.status(500)); } }; const getDataProgress = (_, res, ctx) => { return res( ctx.status(200), ctx.json({ hasFinished: hasGetDataFinished, }) ); }; let waitLastGetData = undefined; let hasGetDataFinished = false; function startNewGetData() { hasGetDataFinished = false; waitLastGetData = new Promise(resolve => setTimeout(resolve, minutes(3))); waitLastGetData.then(() => (hasGetDataFinished = true)); }

Ni siquiera sé qué debo tocar primero. Por favor, ¿podría decirme qué debo hacer para cumplir con esos requisitos?

Es posible que no entiendas bien mi inglés debido a mi inglés corto, lo siento.

about 4 years ago · Santiago Gelvez
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