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.

Reply via email to