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

266
Visualizações
Rechazo de promesa no capturado por .catch()

Tengo algunos problemas con una gran aplicación JS en la que he estado trabajando durante un tiempo. Necesitábamos una ubicación centralizada para arrojar varios errores de la API. Tuve un poco de idea y decidí que un buen enfoque sería enviar todas las llamadas API a través de una función en la clase de servicio API principal.

Así que reescribí todas las llamadas a la API en mis tiendas para utilizar este nuevo método de llamar a la API, pero ahora algunas solicitudes ya no arrojan los errores correctos.

Me pregunto si hay demasiadas promesas anidadas o algo así, ya que estamos usando código generado para el cliente API en la aplicación frontend. Entonces, en el siguiente ejemplo, la devolución de anAsyncApiCallHere sería una promesa.

Encontré circunstancias para activar un 422 de nuestra API para una solicitud, pero por alguna razón, simplemente no puedo hacer que .catch en mi tienda se active cuando ocurre el reject(err) .

Aquí hay un código de ejemplo que raspé para explicarlo mejor:

 // API Service code: const ApiService = { callApi(module, request, ...args) { return new Promise(resolve, reject) { this[module][request].call(null, ...args).then(response => { resolve(response); }).catch(err => { // I do my extra logic/centralised error message stuff here based on response code // ^ this works // the reject line below does not seem to work reject(err); }); } }, moduleA: { requestA(argumentOne, argumentTwo) { return anAsyncApiCallHere(argumentOne, argumentTwo); } } } // in store: export default const StoreModule = { actions: { makeAnApiCall() { let argumentOne, argumentTwo; ApiService.callApi('moduleA', 'requestA', argumentOne, argumentTwo).then(response => { // This section works. console.log(response); }).catch(err => { // This section isn't working. console.error(err); }); } } }
about 4 years ago · Juan Pablo Isaza
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