如何在sails.js

时间:2015-07-30 20:15:47

标签: node.js asynchronous 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的语法不完全正确无论如何。据我所知,它将逐个与数据库服务器建立四个连接。是否可以通过一个连接执行所有操作?

1 个答案:

答案 0 :(得分:2)

使用异步并行控制流程。

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:{}} 
});