Pour recupérer les données d'une api rest , j'utilise le module node nommé node-rest-client
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
});
return result; }
le soucis c'est que j'arrive a mettre mes "data" dans la variable "result" ou a avoir acces a mes donnés json en dehors de la function
En regardant les commentaires tu devrais comprendre tout seul comme un grand:
Etape 1:
// 1. Je suis ici, result est undefined
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
});
return result;
}
Etape 2:
var lstUsers = function() {
var result;
// 2. Je suis ici, result est null
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
});
return result;
}
Etape 3:
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
});
// 3. J'arrive ici a l'etape 3, donc result est toujours null
return result;
}
Etape 4:
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
});
return result;
// 4. Ah c'est bete pour toi, result est toujours null donc tu fais un return null
}
Etape 5:
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
// 5. Mon service m'a enfin repondu
result = data;
});
return result;
}
Etape 6:
var lstUsers = function() {
var result;
console.log("function lstUsers");
var res = client.get(API+"/usagers/all", function (data, response) {
result = data;
// 6. Ah enfin, result prend une valeur
});
return result;
}
Tu dois mettre en place un callback tout simplement.
Salut dsl de repondre aussi tardivement (avec le decallage horaire ce n'est pas evident, je vis au Japon).
En fait ton code ne veut rien dire ...donc un peu normal que ca ne fonctionne pas. Ou c'est moi qui n'est rien compris. Je te propose une autre vision et tu me dis ce que tu en penses :
1. Tu recuperes les donnees 2. Une fois c'est dernier recuperee tu peux traiter les infos.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.