es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué esta función está devolviendo undefined cuando sé que no lo es?

Función de llamada a Reddit:

“`function redditCall(subreddit) {
https.get(https://www.reddit.com/r/${subreddit}/top.json, (resp) => {
let data = ” “;
resp.on(“data”, (chunk) => {
data += chunk;
});
resp.on(“end”, () => {
let json = JSON.parse(data);

    if (json.message === "Not Found" || json.message) {
        console.log("¡Ese subreddit no se encontró!");
    } else {
        if (!json.data.children[0].data.secure_media || json.data.children[0].data.secure_media === null) {
            let postAttachment = json.data.children[0].data.url_overridden_by_dest;
            // console.log(`Esa publicación tiene un archivo adjunto de imagen: ${postAttachment}`);
            console.log(postAttachment); // devuelve el enlace correcto
            return postAttachment; // Publicación de imagen
        } else {
            let postAttachment = json.data.children[0].data.secure_media.reddit_video.scrubber_media_url;
            //console.log(`Esa publicación tiene un archivo adjunto de video: ${postAttachment}`);
            return postAttachment; // Publicación de video
        }
    }
});

});

}“`

Como dice el título, por alguna razón esta función devuelve indefinido cuando he registrado postAttachment en la consola y muestra la cadena correcta, pero por alguna razón cuando devuelvo postAttachment dice indefinido. He intentado hacerlo con .toString() y solo muestra indefinido cuando lo devuelvo cuando sé con certeza que no lo es.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando devolver la variable postAttachment de la función redditCall. Es posible que la variable postAttachment no se esté configurando correctamente. Puedes intentar registrar el valor de postAttachment en la consola antes de devolverlo para asegurarte de que se establezca correctamente. Además, puedes intentar usar un depurador para pasar por el código y ver qué está pasando.

Comments are closed.