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

116
Visualizações
No se puede restablecer la matriz en la función asíncrona de Node.js a pesar de usar las devoluciones de llamada

Por lo tanto, estoy tratando de crear una API básica de chatarra web y estoy usando una función común PullArticle() con un bucle anidado para recopilar artículos con palabras clave (diferentes conjuntos de artículos y diferentes conjuntos de palabras clave) según la solicitud GET que envíe.

Necesito restablecer la variable de devolución de llamada "artículo" entre las solicitudes GET para mantener los datos separados, pero solo agrega llamadas anteriores a cada solicitud GET que puede duplicar datos si llamo a la misma solicitud dos veces.

Intenté usar una función de devolución de llamada y anteriormente una función de promesa siguiendo el consejo de StackOverFlow, ya que tenía la impresión de que la función Topic.forEach se ejecutaba de forma asincrónica, lo que provocaba que el "artículo" devuelto simplemente regresara vacío; sin embargo, no he podido hacer que funcione sin importar qué, y esperaba que alguien pudiera señalar lo que estoy haciendo mal aquí.

 var article = [] function PullArticle (Topic, myCallback) { article =[] // IF I LEAVE THIS RESET OUT ARRAY RETURNS EMPTY :( Topic.forEach(TopicLoop => { newspapers.forEach(newspapers =>{ axios.get(newspapers.address) // pulling html .then((response)=>{ const html = response.data const $ = cheerio.load(html) //allows to pickout elements $(`a:contains(${TopicLoop})`,html).each(function () { const title = $(this).text() const url = $(this).attr('href') article.push ({ title, url: newspapers.base + url, source: newspapers.name, }) }) }) }) }) let sendback = article myCallback(sendback) }

En el mismo archivo hago una solicitud de obtención con

 app.get('/TopicMatrix1',(req,res) =>{ PullArticle( Topic1, myDisplayer) function myDisplayer (PrintArticle){ res.json(PrintArticle) } }) app.get('/SomeOtherTopic',(req,res) =>{ PullArticle() etc }

Además, ¿alguien sabe por qué no puedo hacer la función myDisplayer(), que imprime res.json una función común que se encuentra fuera de la solicitud GET, por lo que las solicitudes GET separadas pueden llamarla?

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