查看我的代码
router.get('/:productSlug', function(req, res, next) {
async.parallel({
product: function(callback) {
products.single(callback, req,res,next)
}
},
function(err, results){
console.log('HERE');
console.log(results.product.rows[0]);
res.render('product', {product : results.product.rows[0]});
});
});
我的控制台输出如下
HERE
{ name: 'Test Product',
price: '19.99' }
GET /img/logo.png 304 9.127 ms - -
GET /img/social/share.png 304 2.051 ms - -
GET /img/social/tweet.png 304 2.190 ms - -
HERE
undefined
所以它有效,但似乎再次调用它,第二个调用意味着未定义的部分使整个事情破裂。
任何想法 - 我完全迷失了!
编辑:添加了名为...的功能
single: function (callback, req, res, next){
var client = new req.app.locals.pg.Client(req.app.locals.pgCon);
client.connect(function(err) {
if(err) {
return callback(['could not connect to postgres', err], null);
}
client.query('SELECT * FROM products WHERE slug=$1', [req.params.productSlug], function(err, result) {
if(err) {
return callback(['error running query', err], null);
}
return callback(null, result)
client.end();
});
});
}, //End function : single
答案 0 :(得分:1)
当您在浏览器中打开页面时,它会向/favacon.ico
发送其他请求 - 请务必处理。