Javascript: For-Schleife (loop) mit SetTimeout um jeden Wert des Arrays verzögert aufzurufen – getestet

NodeJS - Javascript

Ich habe lange nach einer Möglichkeit gesucht um in einer For-Schleife (loop) ein Array durchzugehen und dabei die Werte zeitverzögert auszugeben. Hier findest du mein finalen Code:

 const myArray = ["a", "b", "c"]; 
 let x = 0;

      async function loopArrayWithDelay(myArray) {
          for (const element of myArray) {
              await new Promise(resolve => setTimeout(resolve, 10000));

              const y = x++;

              console.log(y);
              console.log(element);
     }
  }

  loopArrayWithDelay(myArray);

Dieser Code ist eine asynchrone JavaScript-Funktion namens „loopArrayWithDelay“, die als Parameter ein Array mit Daten erhält. Die Funktion durchläuft das Array mit einer Verzögerung von 10 Sekunden zwischen jedem Element und gibt dann den entsprechenden Wert aus. Du kannst das Skript super bei JSfiddle.net testen.

Lass uns den Code Schritt für Schritt durchgehen:

  1. async function loopArrayWithDelay(myArray) {: Dies ist die Funktionserklärung. Es ist asynchron, was bedeutet, dass es auf eine asynchrone Ausführung ausgelegt ist. Der Parameter myArray ist das Array mit Daten, dass die Funktion durchläuft.
  2. for (const element of myArray) {: Dies ist eine for-Schleife (loop), die jedes Element im übergebenen Array durchläuft. Das aktuelle Element wird in jeder Iteration der Schleife als element bezeichnet.
  3. await new Promise(resolve => setTimeout(resolve, 10000));: Dies ist eine asynchrone Verzögerungsfunktion, die eine Verzögerung von 10 Sekunden erzwingt, bevor der Rest der Schleife ausgeführt wird. await stellt sicher, dass die Schleife erst fortfährt, wenn die Verzögerung beendet ist. Das ist vermutlich der wichtigste Hinweis in diesem Skript, bei all meinen anderen versuchen, wurden immer wieder Teile meiner For-Schleife übersprungen, bzw. nicht richtig beendet
  4. const y = x++;: Hier wird die Variable y deklariert und um eins erhöht.
  5. console.log(y);: Dieser Befehl gibt den Wert von y in der Konsole aus.
  6. console.log(element);: Dieser Befehl gibt den Wert des aktuellen Elements in der Konsole aus.

Wofür ist das gut?

Dieser Code-Schnipsel kann nützlich sein, wenn du eine große Menge von Links verarbeiten musst, z.B. beim Web-Scraping oder beim Durchsuchen von Datenbanken. Die Verzögerung von 10 Sekunden stellt sicher, dass der Server nicht überlastet wird und dass die Skriptausführung stabil bleibt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert