J'utilise redis et node (avec node_redis) et je voudrais sérialiser les données de redis dans un fichier XML (en utilisant simple-xml-writer), mais je tombe sur le comportement asynchrone du noeud.Sérialiser les données redis avec le noeud
J'ai des ensembles de données pour a, b, c, d et e stockés comme un hachage dans redis, les clés sont des données: a, données: b données: c ... et chaque clé accède à un hachage. Maintenant, mon fichier XML devrait ressembler à ceci:
<root>
<data record="a">
(data for a)
</data>
<data record="b">
(data for b)
</data>
...
</root>
Mon approche est de faire quelque chose comme:
myobjects = Array.new();
["a","b","c","d","e"].forEach(function(str) {
database.hmget("data:" + str,function(err,obj){ myobjects.push(obj) });
});
now_serialize_myobjects();
Est-il possible d'attendre le forEach
-loop pour terminer et être que tous les objets dans database.hmget()
sont stockés? Donc, lorsque vous appelez la fonction now_serialize_myobjects()
, tous les objets sont couverts?
Quelle est la meilleure approche pour ce problème?
Bonne idée. J'utilise maintenant # 1, mais je vois l'avantage de # 2. Merci! – topskip