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 !?
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é
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?
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()
Ah oui je vois ok!
Je testerai lundi en gardant ça à l'esprit, je reviendrai ici si besoin.
Merci pour tes réponses