node.js – 如何在sails.js中一次执行多个查询

例如,我有一个模型钱包.我需要执行几项操作.让我们说:

Async.waterfall([
   Wallet.findOne(criteria1).exec(cb1);
   Wallet.update(criteria2).exec(cb2);
   Wallet.findOne(criteria3).exec(cb3);
   Wallet.update(criteria4).exec(cb4);
], ...);

无论如何,ASync的语法都不完全正确.据我所知,它将逐个与数据库服务器建立四个连接.是否可以通过一个连接执行所有操作?

最佳答案 使用异步并行控制流程.

async.parallel({
    one: function(cb1){
        Wallet.findOne(criteria1).exec(cb1);
    },
    two: function(cb2){
        Wallet.update(criteria2).exec(cb2);
    },
    three: function(cb3){
        Wallet.findOne(criteria3).exec(cb3); 
    }
    four: function(cb4){
        Wallet.update(criteria4).exec(cb4);
    }
},
function(err, results) {
    // results is now equals to: {one: {}, two: {},three:{},four:{}} 
});
点赞