Valor de variável em diferentes escopos.
Boa noite senhores.
Estou tendo problemas ao implementar uma funcionalidade em javascript e gostaria de contar com a colaboração de vocês.
Estou trabalhando em um ambiente rest com nodejs e ao implementar um teste na qual consiste:
1) buscar dados de um banco mysql,
2) com a informação eu faço uma segunda busca em um banco mongodb.
O problema está na variavel (feed) que carrega toda essa informação para retorno em formato json. Ela simplesmente retorna vazia. Já lí varios artigos sobre variáveis, declaração e escopo, mas meu problema ainda continua.
var feed = [];
module.exports = router.route('/user-feeds/:id')
.get(function(req,res){
sql = 'consulta_sql';
mysql_conn.query(sql, function(err, row) {
if (err) console.log(err);
row.forEach( function(f){
feed[f.pathXml] = {'idCategoryInfo': f.idCategoryInfo,
'idFeeds': f.id,
'parhXml': f.pathXml,
'items': []};
mFeed.find({'idFeeds': f.id}, function(err, news){
if (err) console.log(err);
news.forEach( function(n){
feed[n.pathXml]['items'].push({ 'image': n.image,
'title': n.title,
'author': n.author,
'link': n.link,
'content': n.content,
'published': n.published });
});
});
});
});
res.setHeader('content-type', 'application/json');
res.json(feed);
});
detalhe: ao utilizar do comando console.log() eu consigo visualizar durante o script todo o conteudo da variavel, e somente quando vou envia-la atraves do res.json que ela está vazia.
Obrigado e boa noite a todos.
Discussão (6)
Carregando comentários...