当前位置:  开发笔记 > 编程语言 > 正文

如何在nodejs(nowjs)中处理hgetall()的结果?

如何解决《如何在nodejs(nowjs)中处理hgetall()的结果?》经验,为你挑选了1个好方法。

我正在使用redis + nowjs.我想知道如何处理hgetall()的结果?当我尝试在客户端显示"结果"时,我只得到[object Object](它可能是来自服务器端js的字符串).

// Redis结果是

redis> HSET cards:lightning-bolt name "Lightning Bolt"
(integer) 1
redis> HSET cards:lightning-bolt text "Blah blah blah"
(integer) 1
redis> HGETALL cards:lightning-bolt
1) "name"
2) "Lightning Bolt"
3) "text"
4) "Blah blah blah"
redis>

//在我的服务器js中

everyone.now.signalShowRedisCard = function(card_id) {
    var self = this;
    client.hgetall(("cards:%s" % card_id), function (err, res) {
        nowjs.getGroup(self.now.room).now.receiveShowRedisCard(res);
    });
}

//在我的客户端js中(警报只输出[object Object])

now.receiveShowRedisCard = function(card_data) {
    alert("redis card: "+card_data);
    try {
      console.log('card data: '+ card_data);
    } catch(e) {
      console.log("Firebug not installed.");
    }
}

有任何想法吗?任何回复表示赞赏.



1> 小智..:

当使用hgetall时,你会得到一个对象数组.根据场景,它可以像这样处理:

getItems = function(callback){   
    client.hgetall("myhash",function(err, res){
         var items = [];
         for (i in res) {
            items.push(JSON.parse(res[i]));
         }
     callback(items);
     });    
};

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有