誰かが node-redis に関する (単純な) 非同期の質問を手伝ってくれることを願っています。redis db のハッシュからセットをロードし、その設定されたセットをさらに使用しようとしています。コードスニペットは次のとおりです:-
var redis_client = redis.createClient(REDIS_PORT, REDIS_URL);
redis_client.hgetall(target_hash,function(e,o){
Object.keys(o).forEach(function(target){
// get the "name" from the hash
redis_client.hget(o[target],"name",function(e,o){
if (e){
console.log("Error occurred getting key: " + e);
}
else {
redis_client.sadd("newset",o);
}
});
});
// the following line prints nothing - why ??
redis_client.smembers("newset",redis.print);
redis で「newset」の内容を調べると、期待どおりに入力されていますが、実行時には空として表示されます。私はそれが非同期の問題だと確信しています - どんな助けも大歓迎です!