Nodejs - Loop Callbacks
shoxxdj
-
Xavierdu34 Messages postés 223 Statut Membre -
Xavierdu34 Messages postés 223 Statut Membre -
Bonjour,
Je rencontre un problème, disons de logique avec Node js.
N'étant pas très habitué à ce genre de programation..
Ce que je veux faire :
Apeller une API avec X valeurs contenues dans un tableau devices.
Récupérer les résultats de cette api dans un tableau que je parserais dans ma vue index.ejs.
Cependant avec un tel code, la variable running_images est vide lorsqu'elle est passée à la vue ( le temps d'appel de cette api est assez long .. )
j'ai cru comprendre qu'il y avais une histoire de callbacks. mais je n'arrive pas à la mettre en pratique dans mon cas ...
Je vous remercie d'avance :D
EDIT: Précision du langage dans la coloration syntaxique.
Je rencontre un problème, disons de logique avec Node js.
N'étant pas très habitué à ce genre de programation..
Ce que je veux faire :
Apeller une API avec X valeurs contenues dans un tableau devices.
Récupérer les résultats de cette api dans un tableau que je parserais dans ma vue index.ejs.
app.get('/',function(req,res){
running_images=[];
for(var i=0;i<devices.length;i++)
{
request('appelapi',function(error,response,body)
{
if(!error && response.statusCode==200)
{
running_images.push(response);
}
});
}
res.render('index.ejs',{res:running_images});
Cependant avec un tel code, la variable running_images est vide lorsqu'elle est passée à la vue ( le temps d'appel de cette api est assez long .. )
j'ai cru comprendre qu'il y avais une histoire de callbacks. mais je n'arrive pas à la mettre en pratique dans mon cas ...
Je vous remercie d'avance :D
EDIT: Précision du langage dans la coloration syntaxique.
1 réponse
-
Bonjour,
peut être une idée du genre :
app.get('/',function(req,res){ running_images=[]; for(var i=0;i<devices.length;i++) { request('appelapi',function(error,response,body) { if(!error && response.statusCode==200) { running_images.push(response); } }); if(devices.length == i) { res.render('index.ejs',{res:running_images}); } }-
EDIT: Précision du langage dans la coloration syntaxique.
-
-