Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Wie begrenzt JS die Anzahl der gleitenden Lasten beim gleitenden Laden?

javascript - Wie begrenzt JS die Anzahl der gleitenden Lasten beim gleitenden Laden?

WBOY
WBOYOriginal
2016-12-01 00:56:311437Durchsuche

Wenn der Benutzer aufgrund der langsamen Netzwerkgeschwindigkeit oder der langsamen Datenrückgabe vom Server nach oben rutscht, um mehr Daten zu laden, erfahren Sie, wie Sie die Schiebezeiten begrenzen können, um die paginierten Daten nur einmal zu laden, und wie Sie den Code implementieren

Antwortinhalt:

Wenn der Benutzer aufgrund der langsamen Netzwerkgeschwindigkeit oder der langsamen Datenrückgabe vom Server nach oben rutscht, um mehr Daten zu laden, erfahren Sie, wie Sie die Schiebezeiten begrenzen können, um die paginierten Daten nur einmal zu laden, und wie Sie den Code implementieren

Fordern Sie dann die erfolgreiche Rückgabe der Daten an, rendern Sie sie auf der Seite und addieren Sie dann 1 zur Seitenzahl

Dies ist auch eine Grundvoraussetzung, um wiederholte Übermittlungen zu verhindern.
Sie legen eine Variable als Statussperre fest, z. B. is_post = 0, und setzen sie beim Hochziehen auf 1, um Daten anzufordern. Zu diesem Zeitpunkt wird das Hochziehen durchgeführt Geben Sie keine Anfrage mehr aus und warten Sie auf eine Anfrage, um die Daten zu vervollständigen. Wenn sie zurückkommt, setzen Sie sie einfach wieder auf 0.

Sie benötigen throttle/debounce. Ich habe einen Artikel für Sie gefunden: http://www.css88.com/archives...

Wählen Sie entsprechend Ihrer tatsächlichen Situation, Lodash/Underscore verfügt über vorgefertigte Methoden zur Verwendung.

Setze eine Flagge, haha.

Geben Sie mir ein Beispiel

<code>var loading = false;

nextPage(1);

function nextPage(page) {
  if (loading) return;
  loading = true;
  $.ajax({
    // ....
    success: function() {
      loading = false;
    }
  })
}</code>

Eine davon ist die Statussperre, wie oben erwähnt

Es gibt auch eine Funktion namens JS-Funktionsdrosselung, suchen Sie danach

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn