NEWS
Schleife mit Pausen
-
Hallo Zusammen,
ich möchte in einem Skript einen Block X mal wiederholen, wobei zwischen den Wiederholungen eine Pause sein soll.
Ich komme irgendwie nicht dahinter, warum das "Hallo Welt" hier direkt 5 mal ohne Pause ausgegeben wird
Bitte um Hilfestellung.
Danke.
Micha -
@matschkopf sagte
X mal wiederholen, wobei zwischen den Wiederholungen eine Pause sein soll.
Nimm "Ausführen Intervall" zusammen mit einer Zählvariablen.
-
Weil javascript nicht wartet bis ein Befehl abgeschlossen ist um mit dem nächsten zu starten (... das macht meines Wissens keine "Hochsprache"...). D.h. JS führt die Schleife 5x kurz hinter einander aus (Pause im ms-Bereich), und es erscheint nach 2 Sekunden 5x kurz hinter einander "Hallo Welt".
Du müsstest also eigentlich 5x den timeout ineinander verschachteln. Oder du löst es elegant wie von von @paul53 vorgeschlagen mit einem Intervall. -
Danke für die Antworten.
Auch wenn keine Hochsprache darauf wartet, dass ein Befehl abgeschlossen ist, ist es mir zu "hoch", dass verstehen wohl nur Programmierer. Als Blockly Puzzler hätte ich es anders erwartet. Egal...Was mache ich denn in der eleganten Lösung falsch:
So wird "Hallo Welt" zwar alle 2 Sek einmal ausgegeben, aber nicht nur 3x, sondern unendlich
-
@matschkopf mit dem letzen durchlauf der Schleife startest du nocheinmal das Intervall, es wird aber nicht mehr beendet.
-
@matschkopf Dreh die Logik rum!
Erstelle ein Intervall (ohne Stoppen) -> du willst alle 2s etwas ausführen
Darin die Schleife -> und zwar 3x
und darin die Ausgabe. -> und zwar das hier -
Ich hänge mich hier mal dran, weil der Titel des Threads zu meinem Problem passt.
Ich durchlaufe eine Liste mit einer Schleife und bekomme in jedem Durchlauf jeweils Objekt ID und Dauer in Sekunden, um etwas zu schalten (dort wo jetzt noch der Debug Output steht).
Der nächste Durchlauf soll aber erst beginnen, nachdem die Dauer des vorherigen abgelaufen ist.
Ich finde keine Lösung
Grüße
Frank
-
@frank2604 sagte: Der nächste Durchlauf soll aber erst beginnen, nachdem die Dauer des vorherigen abgelaufen ist.
Vorschlag:
-
Super! Funktioniert einwandfrei. Ich hatte schon so etwas im Kopf von wegen 'Schleife selber bauen' aber ich wusste bisher noch nichts mit den "Funktionen"-Bausteinen anzufangen. Wieder etwas gelernt.
Ganz lieben Dank - auch dafür, dass es so schnell ging und Du Dir auch noch die Mühe gemacht hast, alles in Blockly nachzubauen.
LG Frank