NodeJS async.parallel成功被调用两次?
看我的代码
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
所以它的工作,但似乎是再次调用它,第二个电话是意义不明确的部分,使整个事情破裂。
任何想法 – 我完全失去了!
编辑:添加被称为…的function
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
在浏览器中打开页面时,会向/favacon.ico
发送附加请求 – 请务必处理。
- Node + Sequelize:如何在添加之前检查项目是否存在? (asynchronous混淆)
- 为什么Nodejs可以做文件I / Oasynchronous,而Python asyncio不能?
- 如何确定在Node.js中导致UnhandledPromiseRejectionWarning的原因?
- 我怎样才能改善这个嵌套的asynchronous循环?
- NodeJS和asynchronous地狱
- 如果使用openSync打开文件,如何获取node.js中的文件描述符
- 如何在退出时执行asynchronous操作
- Node.js如何处理连接?
- 一旦读取完所有文件,使用asynchronous模块触发callback