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

122
Vistas
Pasar elementos de lista en javascript a una función diferente

Estoy tratando de hacer un ejercicio de raspado web en el que se recuperan algunos valores y se almacenan en una variable de lista. Luego estoy pasando la variable de la lista como un parámetro en una función diferente. El problema con mi enfoque es que recibo un error al llamar a la función diferente. Creo que recibo este error porque no estoy pasando los elementos de la lista a la función de manera adecuada. En la función, estoy leyendo de una API de acciones de Yahoo utilizada para recuperar datos de acciones. Si tuviera que codificar un símbolo de cotización en el parámetro de la función, funciona sin ningún problema. Como estoy pasando un parámetro, recibo este error. A continuación se muestra mi código y el error que recibo. Cualquier comentario sería útil.

Código

 const cheerio = require('cheerio'); const axios = require('axios'); const yahooStockPrices = require('yahoo-stock-prices'); var stockSymbol = [] async function read_fortune_500() { try { const { data } = await axios({ method: "GET", url: "https://en.wikipedia.org/wiki/List_of_S%26P_500_companies", }) const $ = cheerio.load(data) const elemSelector = '#constituents > tbody > tr > td:nth-child(1)' $(elemSelector).each((parentIndex, parentElem) => { let keyIndex = 0 if (parentIndex <= 9){ $(parentElem).children().each((childIndex, childElem) => { const tdValue = $(childElem).text() if (tdValue) { //stockObject[keys[keyIndex]] = tdValue stockSymbol = tdValue } }) console.log(stockSymbol) } }) } catch (err) { console.error(err) } return stockSymbol; } async function collect_stocks(stockSymbol) { stockSymbol = read_fortune_500() const stockResult = await yahooStockPrices.getCurrentData(stockSymbol); console.log(stockResult); } collect_stocks(stockSymbol)

Error

 /node_modules/yahoo-stock-prices/yahoo-stock-prices.js:75 .split('regularMarketPrice')[1] ^ TypeError: Cannot read properties of undefined (reading 'split') at Request._callback (/node_modules/yahoo-stock-prices/yahoo-stock-prices.js:75:21) at Request.self.callback (/node_modules/request/request.js:185:22) at Request.emit (node:events:390:28) at Request.emit (node:domain:475:12) at Request.<anonymous> (/node_modules/request/request.js:1154:10) at Request.emit (node:events:390:28) at Request.emit (node:domain:475:12) at IncomingMessage.<anonymous> (/node_modules/request/request.js:1076:12) at Object.onceWrapper (node:events:509:28) at IncomingMessage.emit (node:events:402:35)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El parámetro stockSymbol parece estar vacío cuando lo pasa a la función deseada, por lo tanto, cuando yahoo-stock-prices intenta aplicarle una división, falla.

about 4 years ago · Juan Pablo Isaza Denunciar
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