Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
запускаем timeout на «известное время»(например 1/60 сек) и считаем другим, более крупным, таймером сколько раз он успел «тикнуть».
Если >50 — значил Idle state, можно что-то сохранить.
Если <30 — значит busy, нужно подождать.
debounce(1000, loadMorePosts);
debounce(1000, loadMoreComments);
var timeout = null;
function debounce(ms, cb){
return function(){
if(timeout) clearTimeout(timeout);
timeout = setTimeout(cb, ms);
}
}
timeout_id=setTimeout(function(){},1);
$('#input').keyup(function() {
$('#list').html('Пожалуйста подождите...');
clearTimeout(timeout_id);
timeout_id=setTimeout(getAddress,700);
});
Используем время простоя веб-приложения для фоновых задач