2017-04-20 84 views
0

即时通讯与我的函数Mrequest有问题,问题是像id和年的数据不会添加到数组。我知道是功能问题,但我无法解决它。 的可能我改变什么任何想法,所以我的数组结果得到的ID与去年函数没有返回数据回我的数组

function getContent() { 
      var result = []; 

      async.series([ 
       getDb, 
       getInfos 

      ]); 


      function getDb(done) { 
       //posta 
       var query = "SELECT title , launch_year FROM content WHERE content_genre_id=1 && content_type_id!=2 LIMIT 2;" 
       mysqlConnection.query(query, function(err, data) { 
       result = data; 
       async.each(result, getPelicula, done); 
       }); 
      } 


       function Mrequest(pagina, callback){ 
       request({ 
        url: pagina, 
        method: "GET", 
        json: true, 
       }, callback); 

       } 
     function getPelicula(pelicula, donePelicula) { 
       var peli = pelicula.title; 


       var pagina = "http://api.themoviedb.org/3/search/movie?query=" + peli + "&api_key=3e2709c4c051b07326f1080b90e283b4&language=en=ES&page=1&include_adult=false" 
       setTimeout(function() { 
       Mrequest(pagina, function(error, res, body) { 
        if (error) { 
        console.log("error", error); 
        } else { 
        var control = body.results.length; 
        if (control > 0) { 
         var year_base = pelicula.launch_year; 

         var id = body.results[0].id; 
         var year = body.results[0].release_date; 
         var d = new Date(year); 
         var year_solo = d.getFullYear(); 
         console.log(pelicula); 
         console.log("id",id); 
         console.log("year",year); 
         console.log("year",year_solo); 
         if (year_base == year_solo) { 

         pelicula.id = id; 
         pelicula.year_pagina = year_solo; 
         } else { 

         pelicula.id = -1; 
         pelicula.year_pagina = null; 
         } 
        } 
        } 
       }); 
       }, result.indexOf(pelicula) * 3000); 

       donePelicula(); 
      } 
    getContent(); 
    } 
+0

第一件事叫,我看到您在getContent方法内调用getContent。它要么是一个无限循环,要么永远不会被调用? – Siva

+0

它的工作很好,我没有得到无限循环。 –

回答

0

它看起来并不像您这样的请求,因为的getContent正在从自身内部