Javascript setTimeout in foreach: Hilfe beim Erstellen einer Schließung

8

Ich habe diese Funktion

%Vor%

Das funktioniert nicht. Es spielt alle Noten gleichzeitig ab, anstatt sie nacheinander mit einer Lücke von 1 Sekunde zu spielen. Es sieht so aus, als müsste ich hier eine Schließung haben, damit das funktioniert. Könnte jemand mir helfen, diese Funktion zu reparieren, so dass es die Note mit der Verzögerung zwischen jeder Note spielen würde?

    
Prabhu 20.02.2014, 10:17
quelle

3 Antworten

4

weil alle Timeouts gleichzeitig gesetzt sind ...

Tun Sie etwas wie folgt:

%Vor%     
Cracker0dks 20.02.2014, 10:23
quelle
11

Dafür gibt es zwei Möglichkeiten:

1) Haben Sie eine Funktion, die jede Sekunde eine Note ergreift, bis keine Noten mehr vorhanden sind:

%Vor%

2) Starten Sie alle Timer gleichzeitig mit verschiedenen Verzögerungen:

%Vor%     
Tibos 20.02.2014 10:23
quelle
0

Sie können einen Zähler verwenden, es ist schwierig, aber es lohnt sich, wenn Sie mit Objekten arbeiten:

%Vor%

Der erste Zähler ist global. Wenn wir also nicht var localCounter verwenden, würden wir alle Timeouts gleichzeitig ausführen.

    
mate.gwozdz 22.01.2017 03:36
quelle

Tags und Links