Problem with node function js

0

I have the function x and I want to call in this function to get_read but always return undefined, in the console.log ('answer:' + info.message.body.lyrics.lyrics_body) if it prints well. How should I get the data: info.message.body.lyrics.lyrics_body to get_read?

var express = require("express");
var request = require("request");
var bodyParser = require("body-parser");

funcion x(){

letra = obtener_letras('xxxxx')

}

function obtener_letras(q_track){
    // Construcicon del cuerpo del mensaje
    let inputs = {
        "apikey": "xxxxxxxxxxxxxxxxxxxxxxx",
        "q_track": q_track
    }
    request({
        "uri": "https://api.musixmatch.com/ws/1.1/matcher.lyrics.get",
        "method": "GET",
        "qs": inputs
    }, (err, res, body) => {
        if (!err) {
          var info = JSON.parse(body);
          console.log('respuesta: '+info.message.body.lyrics.lyrics_body);
          return info.message.body.lyrics.lyrics_body; //retorna undefined
        } else {
          console.error("No se puedo conectar al API - MUSIXMATCH:" + err);
        }
    }); 
}
    
asked by Charlie Tarazona Vargas 30.05.2018 в 00:12
source

1 answer

0

To return a value you must wait for the request to be completed, for this you must implement something called promises documentate on the subject

link

    
answered by 30.05.2018 / 00:40
source