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

288
Visualizações
RangeError: se excedió el tamaño máximo de la pila de llamadas. ¿Por qué?
 const http = require('http'); const fs = require('fs'); const url = require('url'); const hostname = 'xxxx'; const port = xxxx; const server = http.createServer((req, res) => { let parsedUrl = url.parse(req.url, true); var qdata = parsedUrl.query; let n = parseInt(qdata.n); console.log(n); if (n <= 0) { res.writeHeader(500, { 'Content-Type': 'text/plain', }); res.write("Fuer n wurde kein gueltiger Parameter uebergeben!"); } else { res.writeHeader(200, { 'Content-Type': 'text/plain', }); function fibonacci(num) { if (num <= 1) return 1; return fibonacci(num - 1) + fibonacci(num - 2); } res.write("Die " + n + "-te Fibonacci Zahl lautet " + fibonacci(n)); } res.end(); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });

si ejecuto este código, aparece el error RangeError: se excedió el tamaño máximo de la pila de llamadas. ¿Pero por qué? Sucedió cuando lo llamé con 9, Fibonacci no debería ser un problema en un número tan pequeño.

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

0

Aquí hay dos problemas: 1. hacer que funcione, 2. hacer que funcione correctamente.

1. Está analizando datos incorrectamente, de modo que let n = parseInt(qdata.n); te devuelve undefined . La devolución de llamada es la función que se ejecuta una vez que se inicia el servidor . Esto significa que incluso antes de que haya ingresado un número, su servidor está ejecutando la secuencia de Fibonacci.

Como ya está analizando datos, analiza n , que, por supuesto, no está undefined . Analizando esto en un Int, obtienes NaN . Esto es un problema porque Nan-1 o Nan-2 siempre devuelven Nan , lo que significa que ingresa a un infinito al iniciar el servidor.

Para solucionar esto, debe verificar si n existe:

 if(String(n) !== String(NaN) { ... }
  1. Eficiencia: calcular la secuencia de Fibonacci de esta manera causará grandes problemas en el futuro. Echaría un vistazo a la programación dinámica .
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