Почему, когда я набираю сообщение на входе, у меня много запросов, обработчик не зависает на вводе. (Websokets) - PullRequest
0 голосов
/ 06 февраля 2020

По каждому письму делается запрос

enter image description here

const [actions] = useState(
    new SockJS('https://extapi.megabank.ua/dev/cht/socket')
);

const onConnected = () => {
const stompClient = Stomp.over(actions);

stompClient.connect({}, function(frame) {
  // console.log('frame: ' + frame);
  stompClient.subscribe('/topic/public', function(message) {
    // console.log('message', message);
    const resultMessage = JSON.parse(message.body);

    getChatMessage(...[resultMessage]);
  });
});
};

useEffect(() => {
actions.onopen = function() {
  console.log('open');
};
onConnected();
}, []);



 useEffect(() => {
    if (chatId) {
      setIsOpenChatFrame(false);
      getMessages(chatId);
    }
  }, [chatId]);

    useEffect(() => {
    setLiveMessagesData(chatMessages);
  }, [chatMessages]);

    function sendMessage() {
    const stompClient = Stomp.over(actions);

    if (stompClient) {
      const chatMessage = {
        sender: 'Alex',
        content: message,
        type: 'CHAT',
      };

      stompClient.send(
        '/app/chat.sendMessage',
        chatMessage,
        JSON.stringify(chatMessage)
      );
    }
  }



 const onSubmit = e => {
    e.preventDefault();

    sendMessage();
    setMessage('');
  };

enter image description here

Возможно Я не закрываю сокет вовремя, и из-за того, что я ввожу сообщение, отправляется много запросов и в результате все зависает. Похоже, ваш пост в основном кодовый; пожалуйста, добавьте больше деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...