Indyana Posté(e) le 25 mai 2015 Signaler Posté(e) le 25 mai 2015 Bonjour, Ou je suis trop nul ou je suis trop fatigué, mais pourriez vous m'indiquer comment on peut utiliser les éléments de la variable "response" en dehors de la fonction et de la requete http? J'obtiens un objet nul dans mon print... Merci d'avance! local http = net.HTTPClient(); http:request('http://127.0.0.1:11111/api/devices/57', { options = { method = 'GET' }, success = function(response) fibaro:debug("OK") end, error = function(err) fibaro:debug("Error: " ..err) end }) print(response.data)
Krikroff Posté(e) le 25 mai 2015 Signaler Posté(e) le 25 mai 2015 Cela est logique, il faut prendre en compte le fait que net.HTTPClient travail en asynchrone, le callback succes peut-être déclenché à n'importe quel moment, par exemple plusieurs seconde après ton print. C'était juste un rappel car ici ce n'est pas ton problème: En fait, tu ne peux pas utiliser l’objet response en dehors de la fonction success
Indyana Posté(e) le 26 mai 2015 Auteur Signaler Posté(e) le 26 mai 2015 Merci, j'ai eut peur d'être devenu complètement nul en prog. L'objet de cette scène est de mettre àjour le paramètre d'un module. La maj fonctionne bien, par contre il écrase les autres paramètres à0/blanc, du coup j'ai besoin de récupérer ces valeurs avant de faire la maj, c'était l'objet de ce petit script. Si j'ai bien comprit, je vais donc devoir plus ou moins imbriquer mes requêtes/fonctions (ce dont j'ai horreur en fait).
mprinfo Posté(e) le 26 mai 2015 Signaler Posté(e) le 26 mai 2015 Ce ne serait pas plus simple directement avec l'api? Envoyé de mon SM-G900F
Krikroff Posté(e) le 26 mai 2015 Signaler Posté(e) le 26 mai 2015 Non, pas d'imbrication, il suffit de mettre ton code "métier" dans ton callback (fonction success). Si tu n'es pas àl'aise avec le fonctionnement asynchrone c'est le moyen le plus sûr afin de ne pas t’arracher les cheveux De plus dans ton exemple, le paramètre response n'est valable que dans la fonction success (response est définie dans le corp de la fonction).
Indyana Posté(e) le 26 mai 2015 Auteur Signaler Posté(e) le 26 mai 2015 Merci Krikoff, c'est bien ce que j'avais comprit au final. Je vais me débrouiller avec ca. @mprinfo : Bah c'est ce que je fais non?... Tu pensais à autre chose?
Messages recommandés