CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [JS] Trier tableau

DébutPage précedente
1
Page suivantePage suivante
yes-man yes-man
MP
Niveau 11
21 septembre 2017 à 19:27:37

Bonjour,

Une bonne illustration vaut mieux que 1000 mots :

https://i.gyazo.com/596093602efc790b4ec423e966f4b44f.png

Lorsque j'essaye de trier un tableau selon les dates, lorsqu'il est en dehors du foreach google api, cela fonctionne bien (employees). SI je le met dedans, il ne les tri pas (arr). Dans la console google, cela ressort de la sorte :

https://i.gyazo.com/c68672d26b4a2887e83c8def23ce20af.png
Le premier est employees, le second arr.

Une solution !?

arsh222 arsh222
MP
Niveau 10
22 septembre 2017 à 00:40:26

Si la requête est asynchrone, je suppose que ton console.log(arr) arrive avant que la callback ne soit appelée, dont que arr soit initialisé [[sticker:p/1jnf]]

yes-man yes-man
MP
Niveau 11
22 septembre 2017 à 11:57:23

Effectivement gapi est appelé de cette façon

<script async defer src="https://apis.google.com/js/api.js" onload="this.onload=function(){};handleClientLoad()" onreadystatechange="if (this.readyState === 'complete') this.onload()"></script>

Mais même en enlevant le async le résultat est le même :(
Faut-il que je fasse/rajoute quelque chose de spécifique?

arsh222 arsh222
MP
Niveau 10
22 septembre 2017 à 18:32:17

Non, je ne parle pas du chargement de ton script, mais de ta requête :
gapi.client.drive.files.get envoie la requête vers le serveur (google je suppose),
mais le script continue sur ta machine sans attendre que la réponse arrive, ce qui fait que ton tri sur arr se fait alors que arr ne contient encore rien. Ce qui se trouve dans le .then() n'est exécuté qu'une fois la réponse reçue, ce qui arrive plus tard.

Ton console.log (ou de façon générale ce que tu fais avec le résultat de la requête : affichage, etc) devrait se trouver dans le .then()

yes-man yes-man
MP
Niveau 11
23 septembre 2017 à 21:31:10

Ah oui je vois ok!

Je testerai lundi en gardant ça à l'esprit, je reviendrai ici si besoin.
Merci pour tes réponses :ok:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment