问题描述
我正在使用 jquery 和 pusher 与 laravel 开发聊天。从一侧单击对话时,我调用函数 appendRealTimeMessage()
,该函数开始收听来自该对话的消息。
但问题是如果用户点击它两次它会听两次并且函数会附加两次消息
这是函数
function appendRealTimeMessage(conversation_id) {
var channel = pusher.subscribe(`private-mc-chat-conversation.${conversation_id}`);
channel.bind('Musonza\\Chat\\Eventing\\MessageWasSent',function (data) {
var message = data.message;
if (message.sender.participation[0].messageable_type == 'App\\Models\\Customer') {
$('.kt-chat__messages').append(``);
}
});
}
如何通过附加两次来阻止它?
解决方法
是否要执行监听逻辑,请使用变量
const userListening = false;
function appendRealTimeMessage(conversation_id) {
if(userListing){
return;
}
// function logic
// at the end
userListening = true;
}