Таймер в Javascript, в то время как функции - PullRequest
0 голосов
/ 17 октября 2018

У меня есть этот код:

 input.addEventListener('keydown', (event) => {
  if (event.keyCode === 13 && input.value) {
    sendText(input.value);
    var response = responseChat(input.value, 'user');
    insertResponse(response);
    input.value = '';   
  }
});

В этом коде клиент вводит несколько слов для отправки в веб-приложение.Итак, мне нужно, когда клиент не набирает и отправляет некоторые, страница отправляет сообщение: «Вы не работаете !!»

Я создаю эту функцию с setTimeOut, но я не знаю, как поставитьэто в моем коде:

function first(){
  sendText("your are not work!");
}
function sendFirst(){
  clearTimeout(time);
  time = setTimeout(first, 5000);
}

Не могли бы вы помочь мне?Спасибо

1 Ответ

0 голосов
/ 17 октября 2018

Это то, что вы хотите.Будет console.log 'ты не работаешь!'после 3 секунд бездействия клавиатуры.Нажмите «Выполнить фрагмент кода» ниже, чтобы попробовать его.

const sendText = console.log;
const input = document.getElementById('fred');

let timeout

const restart = () => {
  clearTimeout(timeout);
  timeout = setTimeout(() => {
    sendText("you are not working!");
  }, 3000);
}

restart();

input.addEventListener('keydown', (event) => {
  restart();
	if (event.keyCode === 13 && input.value) {
	  sendText(input.value);
		// var response = responseChat(input.value, 'user');
		// insertResponse(response);
		input.value = '';
	}
});
<input id="fred">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...