Yorino Posté(e) le 20 mai 2023 Signaler Posté(e) le 20 mai 2023 Bonjour à tous, Je ne savais pas trop où poster ma demande, donc je choisis le Bistrot. Je ne suis pas programmeur, je bidouille. Et je bug sur l'utilisation des fonctions dans une scène écrite en lua. J'ai donc une scène qui doit avoir le déroulement suivant. Étape 1 - interrogation d'une api via un http.request Étape 2 - on récupère les données transmise à l'étape 1. Étape 3 - on fait une nouvelle interrogation d'une autre api. J'ai donc écris ce que je pense être la colonne vertébrale de mon programme avec les 3 étapes. Et pour chaque étape, j'appelle une fonction que j'ai déclaré dans au début de la scène. (Au dessus de mon code principal). Sauf que j'ai l'impression, en visualisant les fibaro:debug que j'ai mis un peu partout pour voir où en est mon code, que le programme n'attends pas la fin de l'exécution de la fonction pour poursuivre sa route. Je me trompe ?
Lazer Posté(e) le 20 mai 2023 Signaler Posté(e) le 20 mai 2023 Tu es sur HC2 ou HC3 ? Sinon oui le retour des commandes http est asynchrone, il s'exécute après. Voir : 1
Yorino Posté(e) le 20 mai 2023 Auteur Signaler Posté(e) le 20 mai 2023 Je suis sur Hc2. Et c'est bien ce que je pensais avoir compris en lisant d'autres sujet sur ce forum... Bon bah on va trouver une autre solution hein... Merci Lazer, toujours de bons conseils.
Yorino Posté(e) le 20 mai 2023 Auteur Signaler Posté(e) le 20 mai 2023 Je viens de lire ton post, super intéressant, je ne l'avais pas trouvé avant. Pas certain d'avoir tout pigé mais je vais y bosser dessus.
Lazer Posté(e) le 20 mai 2023 Signaler Posté(e) le 20 mai 2023 (modifié) Pourquoi une autre solution ? Il suffit de prendre en compte le fonctionnement et de faire comme indiqué. OK c'est différent de la programmation linéaire type Basic qu'on a appris à l'école, mais aujourd'hui de nombreux langages fonctionnent ainsi, c'est inévitablement lié à l'aspect connecté des requêtes, et des latences réseaux non maitrisables. Il faut s'y habituer. EDIT : tu as répondu entre temps. Modifié le 20 mai 2023 par Lazer
Yorino Posté(e) le 20 mai 2023 Auteur Signaler Posté(e) le 20 mai 2023 Yes, après avoir lu plusieurs fois, il faut que je continue mon code dans le success. Je vais donc y travailler.
Yorino Posté(e) le 20 mai 2023 Auteur Signaler Posté(e) le 20 mai 2023 Il y a 3 heures, Lazer a dit : Pourquoi une autre solution ? Il suffit de prendre en compte le fonctionnement et de faire comme indiqué. OK c'est différent de la programmation linéaire type Basic qu'on a appris à l'école, mais aujourd'hui de nombreux langages fonctionnent ainsi, c'est inévitablement lié à l'aspect connecté des requêtes, et des latences réseaux non maitrisables. Il faut s'y habituer. EDIT : tu as répondu entre temps. Bon donc sur tes conseils et sur ton très bon post d'explication de la requête net.http, je pense avoir réussi à piloter a nouveau mes projecteurs Netatmo Presence ! J'attends de tester sur plusieurs jours avant de partager mon humble code sur un sujet dédié. A+
Messages recommandés