時々呼び出す関数があります。
function blah() {
sub.unsubscribe();
sub.subscribe("a");
sub.subscribe("b");
}
上記の結果、「エラー: node_redis コマンド キューの状態エラー」というエラー メッセージが表示されます。
現在、redisを使用しています。一連のチャンネルをサブスクライブしようとしていたのと同じ問題にも直面していました。
var redis = require('redis')
const subscribe = redis.createClient({
host: 'localhost',
port: 6379
})
subscribe.psubscribe(`user:chat:*`)
subscribe.on('pmessage', function(pattern, channel, message) {
console.log(channel, message, pattern)
// Write Your Awesome Code here.
})
redis を使用して複数のチャネルをサブスクライブするために使用される Psubscribe。パターンに基づいて複数のチャンネルを購読できます。
接続がサブスクライブされると、サブスクライブ関連のコマンド (subscribe、psubscribe など) のみを発行できます。コードの別の部分が同じ接続を使用している可能性はありますか? また、1 回の呼び出しで複数のチャネルにsub.subscribe("a", "b")
サブスクライブしたり、ニーズに合ったパターンにサブスクライブしたりすることもできますか?