Реализация функциональности "Кто-то печатает ..." в приложении для углового чата с использованием socket.io - PullRequest
0 голосов
/ 17 января 2019

Я портировал веб-версию примера чата на угловой 6.

Теперь я хочу реализовать функцию, которая заключается в том, что когда пользователь A начинает печатать, то в режиме реального времени пользователь B должен увидеть сообщение «Пользователь A печатает ....». И когда пользователь А перестает печатать, сообщение должно исчезнуть. Очевидно, что пользователь А не должен видеть сообщение, если он сам печатает.

Какие-нибудь лучшие идеи о том, как мне этого добиться? Есть комментарии?

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте это, он генерирует событие при нажатии клавиши, а когда нажатие клавиши прекращается, через 500 мс появляется событие nottyping, чтобы прекратить показывать вам набираемое сообщение

var typing = false;

function typingstopped(){
  typing = false;
  socket.emit(notTyping);
}

function onKeyDown(){
  if(typing == false) {
    typing = true
    socket.emit(typing);
    time = setTimeout(typingstopped, 500);
  } else {
    clear(time);
    time = setTimeout(typingstopped, 500);
  }

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