Bonjour,

Je voudrais récupérer la variable users en dehors des fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
client.lrange("comptes", 0, -1, function(err, replies) {
 
    replies.forEach(function(reply, i) {
      users = JSON.parse(reply.toString());
    });
});
 
// ici je voudrai récupérer la variable users pour les fonction plus bas
console.log(users); // = undefined
 
function findById(id, fn) {
  var idx = id - 1;
  if (users[idx]) {
    fn(null, users[idx]);
  } else {
    fn(new Error('User ' + id + ' does not exist'));
  }
}
 
function findByUsername(username, fn) {
  for (var i = 0, len = users.length; i < len; i++) {
    var user = users[i];
    if (user.username === username) {
      return fn(null, user);
    }
  }
  return fn(null, null);
}
voilà ce que j'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var users;
 
function Tusers(users) {
console.log(users); // affiche le bon résultat
}
 
 
 
client.lrange("comptes", 0, -1, function(err, replies) {
 
    replies.forEach(function(reply, i) {
      users = JSON.parse(reply.toString());
      Tusers(users);
 
    });
});
 
// ici je voudrai récupérer la variable users pour les fonction plus bas
console.log(users); // = undefined
 
function findById(id, fn) {
  var idx = id - 1;
  if (users[idx]) {
    fn(null, users[idx]);
  } else {
    fn(new Error('User ' + id + ' does not exist'));
  }
}
 
function findByUsername(username, fn) {
  for (var i = 0, len = users.length; i < len; i++) {
    var user = users[i];
    if (user.username === username) {
      return fn(null, user);
    }
  }
  return fn(null, null);
}
mais ça ne va pas.

je pense que je doit utilisé le module Qasync, mais après avoir parcouru la doc, j'ai du mal à comprendre comment mettre ça en place :/

si quelqu'un à une idée, merci d'avance.