ZenekN
3.01.2016, 22:47:23
Hej staram się wdrożyć pewne rozwiązanie polegające na odpytywaniu bazy danych za pomocą checkboxów.
Czyli zaznaczam haczyk baza zwraca wynik.
Zastanawiam się teraz jeśli użytkownik zacznie szybko zaznaczać/odznaczać pola checkbox.
Jak mógłbym rozwiązać taki problem albo obronić się przed wysypaniem się bazy danych ?
Wiadomo zależy mi na szybkim zwróceniu danych a zarazem aby baza danych nie wysypała się i wykazywała dane według zaznaczanych haczyków
trueblue
3.01.2016, 22:53:07
Cancel'owanie żądań, albo jeszcze lepiej throttle'owanie.
Na każdy klik czyścić timer ustawiony wcześniej przez setTimeout i odpalasz setTimeout na nowo z lekkim opóźnieniem.
ZenekN
3.01.2016, 22:54:39
wielkie dzieki trueblue
dla dopełnienia tematu
Cytat
var requests = [];
setInterval(function() {
if(requests.length > 0) {
var request = requests.pop();
if(typeof request === "function") {
request();
}
}
}, 5000);
// then anywhere you need to make an ajax request
requests.push(function() {
// ajax request here
$.ajax({
url: "/foo", // some variable from outer scope
success: function(a,b,c) {
// handle it
}
});
});
http://stackoverflow.com/questions/7082527...f-ajax-requests