gpt4 book ai didi

node.js - IORedis 或 (node_redis) 回调在调用自定义 Redis 命令/模块后未触发

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

在 nodejs 应用程序的 websocket 消息事件中使用 redis 客户端(ioredis 或 node_redis)时,不会立即触发任何命令的回调。 (虽然操作确实发生在 redis 服务器上)

奇怪的是,第一个命令的回调会在我发送第二条消息后触发,而第二个命令的回调会在我发送第三条消息后触发。

wss.on('connection', (socket, request) => {

socket.on('message', (data) => {

console.log("will send test command")
this.pubClient.hset("test10", "f1","v1", (err,value) => {
//callback not firing first time
console.log("test command reply received")
})

})

}

redis 命令在应用程序的其他部分按预期工作,甚至在直接连接内部时,如下所示。

wss.on('connection', (socket, request) => {

console.log("will send test command")
this.pubClient.hset("test10", "f1","v1", (err,value) => {
//callback fires
console.log("test command reply received")
})

socket.on('message', (data) => {})
}

更新:

我完全错了。奇怪的回调行为的原因是我的自定义 Redis 模块没有返回回复。这似乎导致此调用之后的所有回调似乎都有某种一步延迟。

最佳答案

我完全错了。奇怪的回调行为的原因是我的自定义 Redis 模块没有返回回复。这似乎导致此调用之后的所有回调似乎都有某种一步延迟。

关于node.js - IORedis 或 (node_redis) 回调在调用自定义 Redis 命令/模块后未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54524873/

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