首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Redis在节点上不起回调作用?

为什么Redis在节点上不起回调作用?
EN

Stack Overflow用户
提问于 2022-05-07 18:09:44
回答 1查看 675关注 0票数 0

下面的代码在redis版本3.1.2上工作,但是当我将redis libary升级到4.1.0时,回调就停止了。在本地主机上运行的REDIS服务器没有密码。我正在使用节点16 LTS。

代码语言:javascript
复制
'use strict'
import {createClient} from 'redis';
const redisClient = createClient();

redisClient.on('connect', function() {
    console.log('you are now connected');
});
redisClient.on('ready', function() {
    console.log('you are now ready');
});
redisClient.on('error', function(err) {
    console.log(`redis error: ${err}`)
});

// added for 4.1.0 because there is no autoconnect.
await redisClient.connect();

await redisClient.set("test","value", function(err, reply) {
    console.log('set complete');
});

当我在Redis client 3.1.2上运行这个程序时,在set is调用之后,我得到了"set完全“。在Redis client 4.1.0上,我什么也没有得到,好像回调没有被调用一样。即使回调不触发,也会在REDIS数据库中设置该值。我用redis cli验证了这个值。没有错误消息。我确实收到了连接和就绪事件消息。

我在这里错过了什么?我很确定这是一件简单的事情,我忽略了这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-07 20:43:04

节点Redis 4.x遵循的惯例,引入了许多破坏性的更改。其中之一是它使用承诺而不是回调。您可以在https://github.com/redis/node-redis上阅读所有细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72155237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档