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

214
Visualizações
No se puede detectar el error al obtener datos en la función asíncrona

Estoy usando npm yahoo-finance para obtener datos de stock. Cuando ingreso un símbolo de cotización que no existe, me gustaría detectar el error.

 const yahooFinance = require('yahoo-finance'); async function stockData() { try { let data = await yahooFinance.historical({symbol: "SIJGAOWSFA", from: 2020-08-23, to: 2021-08-23}); } catch (error) { console.error(error) } } stockData();

Sin embargo, no parece ser un error de recuperación típico. No es ser atrapado en absoluto. Con eso quiero decir que el error que ve a continuación no se registró en la consola a través de console.error(error) . Más bien, algo fuera del alcance de este archivo está registrando el error. Cuando ocurre el error, no se ejecuta nada en catch.

ingrese la descripción de la imagen aquí

Planeo usar esto en un bucle for, por lo que me gustaría detectar el error para poder evitar ejecutar las siguientes funciones.

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

0

Un colaborador dice que:

¿Es esto de un proyecto existente que funcionaba y dejó de funcionar, o de un nuevo proyecto?

Si es lo primero, todo sigue funcionando bien de mi lado. (Muy) ocasionalmente hay problemas en yahoo que se atascan en su caché, posiblemente también relacionados con el DNS. Sugeriría borrar su caché de DNS y también intentar consultar diferentes datos para ver si eso funciona.

Si es el último (nuevo proyecto), podrían ser los datos que está consultando. Intente consultar diferentes datos y vea si funciona. Por lo general, Yahoo arroja un error específico si algo anda mal, pero podría ser esto.

Si ninguno de esos enfoques funciona, pero aún necesita detectar este tipo de error, dado el código fuente , lo que hace es:

 if (!crumb) { console.warn('root.Api.main context.dispatcher.stores.CrumbStore.crumb ' + 'structure no longer exists, please open an issue.');

Y luego continúa normalmente (sin lanzar), y finalmente devuelve una matriz vacía.

Si está seguro de que el resultado debe contener al menos un elemento, puede comprobar si está vacío y entrar en un estado de error si lo está.

De lo contrario, si no sabe si la matriz debe contener valores o no, otra opción es sobrescribir console.warn para que pueda detectar cuándo se le pasa esa cadena exacta.

Otra opción sería bifurcar la biblioteca para que (correctamente) arroje un error cuando no se encuentre, en lugar de continuar y devolver una matriz vacía, lo que hace que un resultado exitoso vacío sea indistinguible de un resultado vacío erróneo. Cambiar el

 if (!crumb) { console.warn('root.Api.main context.dispatcher.stores.CrumbStore.crumb ' + 'structure no longer exists, please open an issue.');

a

 if (!crumb) { throw new Error('root.Api.main context.dispatcher.stores.CrumbStore.crumb ' + 'structure no longer exists, please open an issue.');

y luego podrá capturarlo en su llamada a .historical .

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