gpt4 book ai didi

javascript - NodeJS async.parallel 成功被调用两次?

转载 作者:太空宇宙 更新时间:2023-11-04 00:51:00 25 4
gpt4 key购买 nike

查看我的代码

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

最佳答案

当您在浏览器中打开页面时,它会向 /favicon.ico 发送额外的请求 - 请务必处理它。

关于javascript - NodeJS async.parallel 成功被调用两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com