gpt4 book ai didi

带有 Redis 的 Node.js - 排序集加法

转载 作者:可可西里 更新时间:2023-11-01 11:35:44 25 4
gpt4 key购买 nike

我正在尝试使用 node_redis 制作一个 URL 列表。在下面的代码中,我获取已排序集合的长度并将元素添加到集合的该位置。

client.on('connect', function() {       
client.zcard('url',function(err, reply) {
if (reply == undefined) {
length = 0;
} else {
length = reply;
}
});
client.zadd('url',length,pagename,function(err1, reply1) {
console.log("added="+reply1);
});
client.zrange('url',0,-1,'withscores',function(err2, reply2) {
console.log(reply2);
});
});

我的问题是 reply1 返回 undefined ,这意味着 length 没有被前一段代码分配到集合的长度。我在这里做错了什么?

最佳答案

您可以在 ZCARD 的回复中包含需要发生的操作,这样您就可以确保一旦回调对您有回复,它就会发生。您的示例属于 JS 已经在检查长度值而不等待它被 ZCARD 调用实例化的情况

client.on('connect', function() {       
client.zcard('url',function(err, reply) {
if (reply == undefined) {
length = 0;
} else {
length = reply;
}

client.zadd('url',length,pagename,function(err1, reply1) {
console.log("added="+reply1);
});

client.zrange('url',0,-1,'withscores',function(err2, reply2) {
console.log(reply2);
});
});
});

关于带有 Redis 的 Node.js - 排序集加法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34495336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com