Aller au contenu

Aide Lua... Utilisation des fonctions.


Messages recommandés

Posté(e)

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 ?

Posté(e)

Tu es sur HC2 ou HC3 ?

 

Sinon oui le retour des commandes http est asynchrone, il s'exécute après.
Voir :

 

 

  • Thanks 1
Posté(e)

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. 

Posté(e)

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.

Posté(e) (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é par Lazer
Posté(e)

 

 

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+

×
×
  • Créer...