Fonction imbriqué et return

cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012 - 30 mars 2010 à 14:22
cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012 - 1 avril 2010 à 17:31
Bonjour,

J'ai une question un peu stupide je sens, mais qui tente rien n'a
rien....

Dans mon code j'ai ça :
function verif_user(ID_user){
sql.query("SELECT * FROM tbl_users WHERE ID_user = '" + ID_user + "'
LIMIT 1", function(res, errorNo)
                {
                        Ape.log ("Recup infos user");
                        if (errorNo)
                        {
                                Ape.log('Request error : ' + errorNo + ' : '+ this.errorString());
                                retour = 3;
                        }
                        else
                        {
                       res.each(function(data)
                                {
                       new_count = data.count + 1;
                       sql.query("UPDATE tbl_users SET count='" + new_count + "' WHERE
                       ID_user = '" + ID_user + "' LIMIT 1", function(res, errorNo)
                               {
                               Ape.log ("MAJ count");
                               if (errorNo)
                               {
                                       Ape.log('Request error : ' + errorNo + ' : '+ this.errorString());
                                       return  0;
                                       }
                                       else
                                       {
                                       Ape.log("C OK");
                                       return 1;
                                       }
                               });
                      }
              });
}


Bien sur, je ne reçois jamais la valeur de mes returns puisque ca les
renvoie directement à ma fonction parente. Pour la question stupide,
c'est maintenant : Y-a-t-il un moyen quelconque de récupérer ma valeur
de return de mes sous-fonction pour l'affection à ma fonction
principale verif_user() ?

Merci !

2 réponses

croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
1 avril 2010 à 10:27
Mmm tu initialise une variable ret par exemple

Ensuite tu lui donne une valeur en fonction de ton code :

 if (errorNo)
                               {
                                       Ape.log('Request error : ' + errorNo + ' : '+ this.errorString());
                                       ret=0;
                                       }
                                       else
                                       {
                                       Ape.log("C OK");
                                       ret=1;
                                       }
                               });


Par exemple

Et à la fin de ta fonction tu fais un "return ret"
0
cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012
1 avril 2010 à 17:31
J'ai déja testé ça, merci... Sauf que la variable ne suit pas les fonctions. Reste à la limite la variable globale, mais c'est un script côté serveur, et j'ai peur que les instructions suivant la requete prennent + de tps à s'executer; et donc que la fameuse variable prenne la variable d'une requete + rapide a la place de celle attendu au moment T.
0
Rejoignez-nous