希望有人可以協助node-redis上的(簡單)異步問題。我試圖從redis db中的一個散列加載一個集合,然後再使用這個集合集合。下面的代碼片段: -node.js redis異步查詢
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);
當我審視「newset」的預期被填充Redis的內容,但在運行時,它顯示爲空。我確定這是一個異步問題 - 任何幫助非常感謝!
一個幽默的比喻與異步問題的時候,這將有助於你 - https://groups.google.com/forum/ #!MSG /谷歌的Web的工具包/ -soVdfMGug8/vRmqIcAZ5zsJ – 2012-04-18 14:47:02