1

我正在使用 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(``);
    }
  });
}

我如何通过附加两次来阻止它?

4

1 回答 1

0

使用变量是否要执行监听逻辑

const userListening = false;

function appendRealTimeMessage(conversation_id) {
  if(userListing){
     return;
   }

  // function logic

  // at the end
  userListening = true;
}
于 2021-01-04T06:44:56.850 回答