我是Node.js的新手。我正在尝试使用节点Redis plugin。我想要做的是从REDIS数据库中获取键/值对的列表。 Node的异步性质给我带来了挑战。当我尝试打印键/值对时,我的数组是空的。我认为它是因为我对数据库的查询还没有完成。等待在node.js中完成操作
我首先创建一个数组而不仅仅是打印出键/值对的原因是我想按键或值按字母顺序对结果进行排序。目前,我的“M尝试以下操作:
redisClient.on('connect', function() {
var pairs = [];
redisClient.keys('*', function (err, keys) {
if (err) { return console.log(err); }
for(var i = 0, len = keys.length; i < len; i++) {
(function(key) {
redisClient.get(key, function(err, v) {
pairs.push({ key: key, value: v });
});
})(keys[i]);
}
});
// List of key/value pairs ordered alphabetically
console.log(pairs);
});
有人能告诉我如何摆脱这一问题谢谢
我投票接近过于宽泛。查找“节点异步代码”,查找承诺库等。 – djechlin