io-syncify
Version:
跨进程、跨服务器之间通信同步化
29 lines (28 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedisInputMessageReceiver = void 0;
const IORedis = require("ioredis");
const Message_1 = require("./Message");
/**
* Redis输入消息接收器
*/
class RedisInputMessageReceiver {
constructor(input_message_sub_channel, options, inputMessageHandler) {
this.inputMessageHandler = inputMessageHandler;
this.input_message_sub_channel = input_message_sub_channel;
this.input_message_sub_client = new IORedis(options);
}
/**
* 接收消息
*/
receive() {
this.input_message_sub_client.subscribe(this.input_message_sub_channel).then(() => {
this.input_message_sub_client.on('message', (channel, message) => {
if (channel === this.input_message_sub_channel) {
this.inputMessageHandler.handle(Message_1.Message.fromJsonArrayString(message));
}
});
});
}
}
exports.RedisInputMessageReceiver = RedisInputMessageReceiver;