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

225
Visualizações
No detectar un error de async await a pesar de usar bloques de captura de prueba

Estoy usando un bucle para obtener todos los mensajes de WhatsApp asociados con números dados, usando whatsappweb-js. Cuando hay un error en esta línea "let chat = await client.getChatById(nums[i])" no puedo detectarlo, en su lugar aparece un error en la siguiente línea que indica que "chat is not added" (el chat no está definido). si elimino try catch, no obtengo ningún error, pero la aplicación node js simplemente deja de responder nota: client.getChatById (id) devuelve una promesa que contiene el objeto de chat.

 function fetch(nums) { for (let i = 0; i < nums.length; i++) { try { let chat = await client.getChatById(nums[i]) } catch (err) { console.log(err) }; } return msgs = await chat.fetchMessages(); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El código que usa el chat debe estar dentro del bloque de try . Esto es necesario por razones de alcance y también porque no tiene sentido usar el chat si la llamada falla.

Además, no debería tener return dentro del ciclo, ya que desea recopilar los resultados de todos los chats. Declare una matriz para contenerlos, agregue a la matriz en el ciclo y luego regrese al final.

 async function fetch(nums) { let msgs = []; for (let i = 0; i < nums.length; i++) { try { let chat = await client.getChatById(nums[i]); msgs = msgs.concat(await chat.fetchMessages()); } catch (err) { console.log(`while fetching ${nums[i]}`, err) }; } return msgs; }

about 4 years ago · Juan Pablo Isaza Relatório

0

Necesitas mover la devolución:

 function fetch(nums) { for (let i = 0; i < nums.length; i++) { try { let chat = await client.getChatById(nums[i]) return msgs = await chat.fetchMessages(); } catch (err) { console.log(err) }; }

Está poniendo su variable de chat fuera de try/catch, por lo que no sabría cuál es la variable.

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