Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
¿Cómo crear una nueva promesa de búsqueda de respuesta?

Tengo una función similar al código a continuación: hace una fetch , hace cosas cuando la llamada es exitosa o no, y devuelve una promesa de ser manejada en sentido descendente:

 const myFunc = (): Response => { return fetch('http://something') .then(r => { console.log('the call went through, the return code does not matter') return r }) .catch(err => { console.error(`ah crap, the call failed completely: ${err}`) // and here I do not know how to return a new Response } } } myFunc().then(r => { console.log('do something once myFunc is over') })

Mi intención es ejecutar algún código una vez que myFunc haya terminado, pero debo tener en cuenta el caso de que la llamada falle por completo (sin resolución de DNS, llamada rechazada, ...). Para eso, necesito crear y devolver en el catch() una promesa de Response con, por ejemplo, un código de retorno 503 forzado (que no es realmente correcto porque el servidor ni siquiera respondió, pero de todos modos).

Mi pregunta: ¿cómo puedo crear tal promesa de Response ?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo alentaría a que no convierta una falla de red en una aparente falla de HTTP (503), pero dado que ha preguntado específicamente cómo hacerlo, puede hacerlo creando su propio objeto de Response :

 const myFunc = (): Response => { return fetch("http://something") .catch(err => { console.error(`the call failed completely: ${err}`) return new Response(null, { status: 503, statusText: "Fake 503", }); }); };

o si desea utilizar una función async :

 const myFunc = async (): Response => { try { return await fetch("http://something"); } catch (err) { console.error(`the call failed completely: ${err}`) return new Response(null, { status: 503, statusText: "Fake 503", }); } };

(Tenga en cuenta que no hay necesidad de su .then en el primero (a menos que quiera hacer el console.log ).)

Pero , te recomiendo encarecidamente que no hagas eso. En su lugar, maneje esto en el punto de la llamada, a través de un controlador .finally (o un bloque try / finally en una función async ).

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda