• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

177
Views
Promesa { <pendiente> } LOG

Estaba creando el archivo/comando meme.js y recibí este error. No sé cómo resolver este problema. ¿Me pueden ayudar?

así que este es mi código:

 const fetch = require('node-fetch'); const randomPuppy = require("random-puppy"); module.exports = { name: "meme", description: "Sends an epic meme", execute(message) { const subReddits = ["dankmeme", "meme", "me_irl"]; const random = subReddits[Math.floor(Math.random() * subReddits.length)]; const img = await randomPuppy(random); console.log(img) const memeEmbed = new MessageEmbed() .setColor("#fa0557") // .setImage(`${img}`) .setTitle(`From /r/${random}`) .setURL(`https://reddit.com/r/${random}`); message.channel.send({ embeds: [memeEmbed] }); } }

Y este es el registro que obtuve:

 Promise { <pending> }
almost 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El código publicado arroja un error de sintaxis que await solo se puede usar dentro de una función asíncrona, que `module.exports.execute' no se ha declarado como.

Intente declarar execute como una función asíncrona

 module.exports = { name: "meme", description: "Sends an epic meme", async execute(message) { . . .

Si el registro en la publicación muestra

 Promise { <pending> }

en la consola, actualice la publicación con el código necesario para reproducir el problema.

almost 3 years ago · Juan Pablo Isaza Report

0

Su código como se muestra no se ejecutará. Muestra await randomPuppy(random) , pero await NO está permitido allí porque no está dentro de una función async . Entonces, sospecho que su código real no tiene la await y es por eso que muestra Promise { <pending> } en su consola. Tienes que usar await o .then() con la promesa de que randomPuppy(random) regresa.

Si arreglo su código para que se ejecute agregando async a la definición de execute() , entonces el console.log(img) realmente funciona bien:

 const randomPuppy = require("random-puppy"); module.exports = { name: "meme", description: "Sends an epic meme", async execute(message) { const subReddits = ["dankmeme", "meme", "me_irl"]; const random = subReddits[Math.floor(Math.random() * subReddits.length)]; const img = await randomPuppy(random); console.log(img) } } module.exports.execute().then(result => { console.log(result); }).catch(err => { console.log(err); });

Y me sale en mi consola esto:

 http://imgur.com/FFkL628.gif done

Entonces, mi conclusión es que el código que publicaste en tu pregunta no es el código que realmente estás ejecutando. Este código que se muestra aquí funcionará bien.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error