IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Résultat avec un tableau vide


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Par défaut Résultat avec un tableau vide
    Bonjour,

    Bonjour,

    Lorsque je souhaite afficher le résultat de mon GlobalTab j'ai un tableau vide alors qu'il est censé me mettre des valeurs .

    Je ne comprends pas pourquoi et donc je souhaite avoir votre aide.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    var arr = [
        { "region": "eu-west", "value": "http://****" },
        { "region": "eu-west", "value": "http://****" },
        { "region": "eu-west", "value": "http://****" },
        ] ;  
     
    var GlobalTab = [];
     
    var r=-1;
        while ( arr[++r] ) {
        var region= arr[r].region; //test
        var Value = arr[r].value ; //test
        cw.getMetricStatistics(params, function(err, data) {
            if (err){
                console.log(err, err.stack); // an error occurred
            }
            else {   
                var TabJSON = [];
                for(var i=0;i<5;i++) {
                    TabJSON.push(data.Datapoints[i]);
                }
            GlobalTab.push(TabJSON);
            }
        });
    }
    console.log(GlobalTab); //error tableau vide ...

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Par défaut
    Bonjour.

    Je ne sais pas comment tu travailles (avec un IDE ou directement, par exemple), alors c'est difficile de donner des indications...

    Un truc simple pour débugger, c'est de poser des jalons.
    Par exemple :
    1. Au début de chaque boucle/condition, tu affiches (via alert ou log, au choix) un message pour dire où tu es.
    2. Tu affiches les informations sur les affectations de variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
        while ( arr[++r] ) {
        alert ("Boucle " + r) 
        var region= arr[r].region; //test
        var Value = arr[r].value ; //test
        cw.getMetricStatistics(params, function(err, data) {
            if (err){
                alert ("Erreur");
                console.log(err, err.stack); // an error occurred
            }
            else {
                alert ("OK");   
                var TabJSON = [];
                for(var i=0;i<5;i++) {
                    TabJSON.push(data.Datapoints[i]);
                }
            alert ("Fin boucle : " + TabJSON.toString());
            GlobalTab.push(TabJSON);
            }
        });
    }
    console.log(GlobalTab); //error tableau vide ...

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Par défaut
    Merci de votre réponse.
    Je viens de tester avec des log et tout fonctionne bien à part la dernière ligne ... (console.log(GlobalTab)).
    J'ai l'impression que c'est un problème d'asynchrone mais je ne sais pas comment le résoudre ...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Par défaut
    Citation Envoyé par marcilles Voir le message
    Merci de votre réponse.
    Je viens de tester avec des log et tout fonctionne bien à part la dernière ligne ... (console.log(GlobalTab)).
    J'ai l'impression que c'est un problème d'asynchrone mais je ne sais pas comment le résoudre ...
    Si le TabJSON.push fonctionne et qu'à la fin il n'y a rien dans TabJSON, c'est que tu le vides.
    Ou alors, c'est que ce n'est pas la même variable
    Tu as vérifié la portée de tes variables ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Par défaut
    Ah d'accord ...
    Vu que c'est asynchrone, je dois fournir une fonction à appeler une fois la réponse reçue...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dojo] Filtrer les résultats d'un tableau avec FilteringSelect
    Par VinceCBA dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 27/10/2011, 14h06
  2. renvoyer le résultat d'un tableau avec prétraitement
    Par mumuri dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 18/09/2008, 23h28
  3. Tableau vide avec Redim
    Par tera_jeff dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/11/2007, 21h58
  4. [MySQL] Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 15/05/2007, 14h19
  5. [Tableaux] pb implode avec tableau vide
    Par bogsy15 dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2006, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo