У меня есть поле A на моей веб-странице, которое при редактировании пользователем вызывает вызов API (с использованием jQuery), который обновляет поле B. После редактирования API следует вызывать каждые 10 секунд для обновления поле B снова. В настоящее время я делаю это, используя:
setTimeout(thisFunction, 10000);
Проблема заключается в том, что этот тайм-аут устанавливается каждый раз, когда пользователь редактирует поле A, которое после редактирования поля A пару раз заставляет таймаут устанавливаться несколько раз, и API, который будет вызываться много раз. Это делает сайт довольно напряженным.
То, что я хотел бы сделать, - устанавливать новый тайм-аут каждый раз, когда редактируется поле, будь то полем редактирования пользователя A или интервалом, достигающим 10 секунд и тем самым опросом API. Другими словами; поле должно быть обновлено, если поле B не обновлялось в течение 10 или более секунд.
Наконец, если пользователь затем нажимает кнопку C, опрос должен останавливаться.
Итак, мой вопрос; как я могу запустить функцию для обновления поля B, если это поле B не было обновлено в течение 10 или более секунд и как остановить опрос, когда я захочу (когда пользователь нажмет другую кнопку). Все советы приветствуются!