nodejs demande expresse de ne pas revenir tableau json

J'ai le texte suivant express node.js app. C'est à l'aide de la "redis' package npm.

app.get("/test",function(req,res){
    var data = [];
    client.HGETALL("receipts",function(err,obj){
        for(var id in obj){
            data.push(JSON.parse(obj[id]));
        }
    });
    console.log(data);
    res.json(data);
});

app.listen(3000);

Le code de la course sans erreurs; cependant, la data variable est [] quand il est renvoyé au navigateur.
nodejs demande expresse de ne pas revenir tableau json

La partie étrange, c'est que quand je lance le même redis commandes à partir de la ligne de commande, le tableau est rempli.

nodejs demande expresse de ne pas revenir tableau json

Quelqu'un peut me dire ce qu'il se passe ici?