I'm using:
- nodejs (0.6.8)
- expressjs (2.5.2)
- socket.io (0.8.7)
- node-db-mysql (0.7.6)
Currently the code works correctly, but I wonder if there is a way to avoid callbacks nested functions:
The queries:
/*************************
Queries
**************************/
var sql_states = 'SELECT ...';
var sql_colors = 'SELECT ...';
var sql_languages = 'SELECT ...';
/* ... more queries */
The execution of nested queries:
/*************************
Run queries
**************************/
db.query(sql_states).execute(function(error, r) {
if (error) {
req.session.error = 'Operation failed States';
res.redirect('back');
}
else if (r.length > 0)
{
for(var i in r){
states += '<option value="'+r[i]['id_state']+'">'+r[i]['name']+'</option>';
}
var colors = '';
db.query(sql_colors).execute(function(error, r) {
if (error) {
req.session.error = 'Operation failed Colors';
res.redirect('back');
}
else if (r.length > 0)
{
for(var i in r){
colors += '<option value="'+r[i]['id_color']+'">'+r[i]['name']+'</option>';
}
var languages = '';
db.query(sql_languages).execute(function(error, r) {
if (error) {
req.session.error = 'Operation failed Languages';
res.redirect('back');
}
else if (r.length > 0)
{
for(var i in r){
languages += '<option value="'+r[i]['id_language']+'">'+r[i]['name']+'</option>';
}
...
Any suggestions are welcome.
Thanks.