栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Redis node.js

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis node.js

我认为事件发射器在这里不是一个好选择。您可以跟踪所有呼叫,如下所示:

User.getAll = function(uid, next){    var requests = ["first", "second"];    var check_request = function(_key) {        var idx = requests.indexOf(_key);        if (idx!==-1) { requests.splice(idx, 1);        }        if (!requests.length) { next(user);        }    };    // ORIGINAL CODE + check_request    var user = {};    var multi = client.multi();    var key = 'user' + uid;    client.hgetall(key, function(err, profile){        user.profile = profile;        check_request("first");    }    key = 'products:' + uid;    client.smembers(key, function(err, arr){        key = key + ':';        for (i=0; i < arr.length; i++){ multi.hgetall(key + arr[i])        }        multi.exec(function(err, products){ user.products = products; check_request("second");        }));    })}

显然,您将使用比然后更有意义的方法

requests = ["first", "second"];
,但我希望您有所想法。

还可以看看async.js。这是一个不错的库,可以为您简化此操作,并且可以做更多的事情。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号