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 :

Indice boucle for avec then.. catch


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut Indice boucle for avec then.. catch
    Bonjour à tous,

    Dans le cadre d'un projet étudiant, je souhaite lister les différents événements possibles dans une salle .

    Je possède 3 salles, dont le nom et le numéro sont contenus dans un Array .

    A l'aide d'une boucle for, je tente de lister chaque évènement (nommé: event) de chaque salle .

    Au début de la boucle (voir console.log : log1): Je parcoure bien chacune des salles (Salle_1, Salle_2, Salle_3)

    Cependant au sein de cette boucle for, se trouve la fonction cal.Events.list, (Script Google API), qui utilise .then .catch ,

    Je m'aperçois (voir console.log: log2) que seule la dernière salle est parcourue (Salle_3) .

    Je pense que ma boucle for est plus rapide d'execution que la fonction cal.Events.List, pour cause: le .then .catch (supposition) .

    Pouvez-vous m'éclairer à ce sujet ?

    Merci d'avance

    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
    27
    28
    29
    30
    31
    listeSalles = {
      'Salle_1': 'chambre',
    'Salle_2': 'cuisine',
    'Salle_3': 'salle_de_bain'
    };
    for(var mesSalles in listeSalles)
    {
    let eventsArray = [];
    console.log("Log 1:" + mesSalles); //Dans ce log apparaissent: "Salle_1", "Salle_2", "Salle_3" (Très bien !)
     
     
    cal.Events.list(listeSalles[mesSalles], params2, {})
     .then(json => {
     console.log("Log 2:" + mesSalles); //Dans ce log apparait: "Salle_3", "Salle_3", "Salle_3" !
    for (let i = 0; i < json.length; i++) {
    let event = {
    id: json[i].id,
    nom: json[i].nom
     };
    eventsArray.push(event);
     
    console.log("Id:" + event.id);
     console.log("Nom:" + event.nom);
     
     }
     
    // return eventsArray;
    }).catch(err => {
     console.log('Error: ', err.message);
    });
    }

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    elle est où la logique de déclaration de tes variables avec var ou let ?

    Essaie donc en mettant un let dans ton for( ....

  3. #3
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    c'est pas que la boucle for soit "plus rapide", c'est plutôt que la fonction cal.Event;list(... est une fonction asynchrone.

    tu peux peut être t'en tirer en plaçant tout le contenu dans une fonction ayant pour paramètre d'entrée tes 2 variables listeSalles[mesSalles] et params2 utilisées par la dite boucle. ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut
    Citation Envoyé par psychadelic Voir le message
    c'est pas que la boucle for soit "plus rapide", c'est plutôt que la fonction cal.Event;list(... est une fonction asynchrone.

    tu peux peut être t'en tirer en plaçant tout le contenu dans une fonction ayant pour paramètre d'entrée tes 2 variables listeSalles[mesSalles] et params2 utilisées par la dite boucle. ?
    Merci j'essayerais !

    Citation Envoyé par danielhagnoul Voir le message
    Non, c'est un Object !

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par DevGam Voir le message
    Je possède 3 salles, dont le nom et le numéro sont contenus dans un Array .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    listeSalles = {
      'Salle_1': 'chambre',
    'Salle_2': 'cuisine',
    'Salle_3': 'salle_de_bain'
    };
    Non, c'est un Object !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Boucle for avec SELECT et variable indicée
    Par hisin dans le forum Langage
    Réponses: 4
    Dernier message: 14/12/2009, 11h53
  2. Boucle for avec saut
    Par michel71 dans le forum Delphi
    Réponses: 3
    Dernier message: 25/02/2007, 16h16
  3. boucle for avec condition
    Par Daniel Magron dans le forum Delphi
    Réponses: 4
    Dernier message: 22/01/2007, 16h18
  4. Réponses: 2
    Dernier message: 28/08/2006, 18h17
  5. [VB6] boucle for avec liste de valeur defini
    Par Morpheus2144 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/04/2006, 18h12

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