I'm working in Node.js (Express) and MongoDB (mongooseJS). I want to create async functions (one after another, quering DB in proper order);
the question is: how can I create variable number of async.series functions, like this:
var supply = [0];
async.series([
function(callback) {
Model.find({ color: user.color[supply] }).exec(callback);
},
],function(err, results){
res.send('Chosen colors: ' + results);
});
and if - lets say - variable supply = [0, 1, 2],
then callback function will be tripled with 0, 1 and 2 placed there:
var supply = [0, 1, 2];
async.series([
function(callback) {
Model.find({ color: user.color[supply] }).exec(callback); // supply = 0
},
function(callback) {
Model.find({ color: user.color[supply] }).exec(callback); // supply = 1
},
function(callback) {
Model.find({ color: user.color[supply] }).exec(callback); // supply = 2
},
],function(err, results){
res.send('Chosen colors: ' + results);
});
in other words, how can i loop this fragment
function(callback) {
Model.find({ color: user.color[supply] }).exec(callback);
},
so number of functions will be here depending on some variable?
Cheers!
Mike