bearbeiten Ich habe eine riesige Liste von Hochschulen und Schulen auf der Serverseite für jeden Bezirk in einem Staat.Wie große Anfragen von Clients beim Ändern der Auswahl in Nodejs
In einer Registrierungsseite für den Benutzer, frage ich ihn den Bezirk und wenn er einen auswählt, sende ich die Anfrage an nodejs mit dem Namen des Bezirks als Anfrage Körper. Der Server liest den Distrikt und sendet die Colleges-Liste an den Client, wo ich die Liste in das Auswahlfeld lege. (Ich sende Ajax-Anfragen an nodejs)
Das Problem ist, dass, wenn ich zu schnell auf die Bezirksauswahlbox klicke oder die Pfeiltasten benutze, es wegen all dieser internen Mehrfachanfragen steckenbleibt?
Wie können diese Methode bei Server und Client verbessert werden und wie werden solche schnellen Auswahländerungen der Auswahlbox effizient gehandhabt?
var timer = 0 ;
$('#select_district').on('change', function district_selection_changed() {
clearTimeout(timer) ;
timer = setTimeout(function(){
$.ajax({
type: "post",
url: "/getcolleges",
data: {
state: $("#select_state").val(),
district: $("#select_district").val()
},
dataType: "json",
success: function (response) {
$("#select_college").html("");
collegenameelement = document.getElementById("collegenameslist") ;
response.forEach((ele) => collegenameelement.innerHTML = collegenameelement.innerHTML+
`<option>${ele}</option>`)
}
})
} , 500) ;
['debounce'] (http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-debounce) von [RxJS] (http://reactivex.io/) rxjs /) oder ähnliche Techniken aus anderen Bibliotheken. Oder schreibe etwas selbst. – Dmitry