例如,我有一个型号钱包。我需要执行几项操作。让我们说:
Async.waterfall([
Wallet.findOne(criteria1).exec(cb1);
Wallet.update(criteria2).exec(cb2);
Wallet.findOne(criteria3).exec(cb3);
Wallet.update(criteria4).exec(cb4);
], ...);
ASync的语法不完全正确无论如何。据我所知,它将逐个与数据库服务器建立四个连接。是否可以通过一个连接执行所有操作?
答案 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:{}}
});