我一直试图弄清楚如何用nodejs和redis来实现这样的东西:
var var1 = redisClient.get("foo");
var var2 = redisClient.get("bar");
if (var1 && var2) {
do_something();
} else {
do_something_else();
}
我知道redis调用是异步的,但重复的是:
var var1, var2;
redisClient.get("foo", function(err, data) {
var1 = data;
redisClient.get("bar", function(err, data) {
var2 = data;
if (var1 && var2) {
do_something();
} else {
do_something_else();
}
}
});
每次我想要访问这两个变量时,都不适合做。
答案 0 :(得分:0)
您可以使用async库来控制流量:
async.parallel([
function(done) {
redisClient.get("foo",done);
},
function(done) {
redisClient.get("bar",done);
}
],
function(err, result) {
//result[0] here is foo
//result[1] here is bar
})
答案 1 :(得分:0)
实际上我只是以错误的方式思考整件事。