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 [email protected].
To post to this group, send email to [email protected].
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.