hi , am have tried all possible ways to make this work , but it seem to not work the idea is pass each ,news item to the citifmonlinedetail() to get the detail info and pass to json ,and send to database v 1 var url3 = 'http://citifmonline.com/category/news/';
function citifmonlineDetail(url, callback) { setTimeout(function() { request(url, function(error, response, html) { var detail = ""; if (!error) { $ = cheerio.load(html); $('.entry p').each(function(index, paragraphs) { console.log($(paragraphs).text()); var a = $(paragraphs).text(); detail = detail.concat(a + " "); }); callback(detail); } }); }, 3000); } request(url3, function(error, response, html) { if (!error) { $ = cheerio.load(html); $('div.post-listing article').each(function(index, listings) { var image = $(listings).find('.post-thumbnail a img'); var title = $(listings).find('.post-title a'); var description = $(listings).find('.entry p'); var link = $(title).attr('href'); // var details = var metadata = { image: $(image).attr('src'), title: $(title).text(), url: $(title).attr('href'), description: $(description).text(), detail:citifmonlineDetail(link, function(result) { // here we pass each news item link to get the detail news information var value = result; return value; }), }; console.log("---------------------------------------------------------------------------"); console.log(metadata); }); } }); running only citifmonlinedetail() alone works , but combination of my overall logic return json with only the detail object returning undefined and later spits it out corrupting my json object concatenation ,any help is very appreciated On Wednesday, December 2, 2015 at 2:08:21 PM UTC, wasiu razak wrote: > > am trying to grab data from a function , by passing in a args and return > data > but when i run i get undefined before i get the data , i have wrapped it > in a time still same output > version 2 > > function citifmonlineDetail(url, callback) { > > setTimeout(function() { > request(url, function(error, response, html) { > > var detail = ""; > > if (!error) { > $ = cheerio.load(html); > > $('.entry p').each(function(index, paragraphs) { > console.log($(paragraphs).text()); > var a = $(paragraphs).text(); > detail = detail.concat(a + " "); > }); > > callback(detail); > } > > > }); > }, 3000); > } > var citi = ' > http://citifmonline.com/2015/12/01/no-bias-in-disbursing-leap-funds-gender-minstry-insists/ > '; > > var data= citifmonlineDetail(citi,function(result) { > return result; > }) ; > console.log(data); > > > version 1 > > function citifmonlineDetail(url) { > request(url, function(error, response, html) { > if (!error) { > $ = cheerio.load(html); > var b; > > $('.entry p').each(function(index, paragraphs) { > var a =$(paragraphs).text(); > b =b.concat(a); > > }); > return b > }}); > > } > > > -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. To post to this group, send email to nodejs@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/5b382fd1-3cfa-4630-b35d-d66f233df318%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.