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

369
Vistas
TypeScript/JavaScript: ¿por qué esta función no devuelve un valor?

He estado tratando de encontrar preguntas similares a las mías durante mucho tiempo, pero no he encontrado ninguna con el mismo escenario que yo, así que me gustaría publicar este caso más específico aquí. Tengo una comprensión decente sobre cómo funcionan las llamadas a funciones, pero no puedo entender por qué esta función simplemente no parece devolver un valor. Así que tengo esta función aquí:

 function createServerCommand(guildID: string, commandName: string) { var commandData try { commandData = UTIL.loadJSON(`SlashCommands/${commandName}.json`) } catch (error) { console.log(`============\nWarning: Couldn't find command data with name '${commandName}'`) return null } const targetGuild = client.guilds.cache.get(guildID) let commands = targetGuild?.commands commands?.create(commandData).then(function(command) { console.log(`============\nCommand created in server ${guildID}\nCommand name: ${commandName}\nCommand ID: ${command.id}`) return command.id }) }

(lo siento si es un código incorrecto, soy bastante nuevo en JavaScript)

Y he probado que esta función llega a la declaración de devolución cada vez de manera consistente. Sin embargo, en realidad no parece estar devolviendo su valor al lugar desde donde lo llamo. Código donde estoy llamando a la función:

 let serverData = SSCM.getServer(guildID) let commandID = createServerCommand(guildID, commandName) //while (typeof commandID === 'undefined') { console.log("TRYING TO WAIT") } console.log(commandID) if (!commandID) { UTIL.sendCommandError(interaction) return } serverData.addCommand(commandName, commandID)

No importa lo que parezca, el programa trata la variable "commandID" como indefinida, y al probarla con la declaración while (comentada anteriormente) para forzar esencialmente al programa a esperar hasta que se definió, el programa simplemente mostró "INTENTANDO ESPERAR" para siempre ( sin embargo, también se alcanzó la declaración de devolución, ¿entonces simplemente se ignoró?). ¿Alguien tiene una manera de explicar esto a alguien bastante nuevo en JavaScript?

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