私が使用しているもの:
- nodejs(0.6.8)
- expressjs(2.5.2)
- socket.io(0.8.7)
- node-db-mysql(0.7.6)
現在、コードは正しく機能していますが、ネストされた関数のコールバックを回避する方法があるかどうか疑問に思います。
クエリ:
/*************************
Queries
**************************/
var sql_states = 'SELECT ...';
var sql_colors = 'SELECT ...';
var sql_languages = 'SELECT ...';
/* ... more 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>';
}
...
どんな提案でも大歓迎です。
ありがとう。