Я использую redis и node (с node_redis), и я хотел бы сериализовать данные из redis в файл XML (используя simple-xml-writer), но я натыкаюсь на асинхронное поведение узла.Сериализуйте данные redis с узлом
У меня есть наборы данных для a, b, c, d и e, которые хранятся как хэш в redis, ключи - это данные: a, data: b data: c ... и каждый ключ обращается к хэшу. Теперь мой файл XML должен выглядеть следующим образом:
<root>
<data record="a">
(data for a)
</data>
<data record="b">
(data for b)
</data>
...
</root>
Мой подход, чтобы сделать что-то вроде:
myobjects = Array.new();
["a","b","c","d","e"].forEach(function(str) {
database.hmget("data:" + str,function(err,obj){ myobjects.push(obj) });
});
now_serialize_myobjects();
Можно ли ждать forEach
-loop закончить и быть уверены, что все объекты в database.hmget()
хранятся? Значит, при вызове функции now_serialize_myobjects()
все объекты покрыты?
Каков наилучший подход к этой проблеме?
Хорошая идея. Я использую # 1, но я вижу преимущество # 2. Благодаря! – topskip