Я использую redis и node (с node_redis ), и я хотел бы сериализовать данные из redis в файл XML (используя simple-xml-writer ), но я оступилсяпри асинхронном поведении узла.
У меня есть наборы данных для 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
и убедитесь, что все объекты в database.hmget()
сохранены?Таким образом, при вызове функции now_serialize_myobjects()
все объекты покрываются?
Каков наилучший подход к этой проблеме?