NEWS
gelöst - setTimeout Function aufrufen mit Wert
-
Hallo zusammen,
ich habe ein Script in dem ich folgenden Code einsetze:
delay[j] = setTimeout(startHochbeet(j), verzoegerungen[j]);
Leider bekomme ich dann folgende Fehlermeldung:
javascript.2 2020-05-07 16:19:00.454 error (1047) script.js.Bewaesserung.Steuerung: Invalid callback for setTimeout! - undefined
Wenn ich den Parameter j bei StartHochbeet nicht habe klappt es.
Was mach ich hier falsch ?Gruß
Michael
-
@mctom
Versuche es mal so:delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]);
-
@paul53 sagte in setTimeout Function aufrufen mit Wert:
delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]);
danke für deine Rückmeldung. das klappt schon mal
jetzt habe ich aber ein 2. problem.habe jetzt folgenden code:
anzahlVentile = 7 for (j=0; j<=(anzahlVentile-1); j++) { if(logging) log(idVentilNamen[j]); startHochbeet(j); delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]); }
das erste startHochbeet wird jeweils mit Parameter 0,1,2,3,4 aufgerufen
das zweite startHochbeet wird nur mit dem Parameter 7 aufgerufen.ich glaube es ist zu spät heute
-
@mctom
Wie sieht die Deklaration der beiden Arrays delay und verzoegerungen aus ? -
So ich habe es doch noch herausgefunden.
Es gibt jetzt noch eine weitere Funktion:for (i=0; i<=(anzahlVentile-1); i++) { if(getState(idAuswahl[i]).val) { setState(idCounter[i],getState(idZeiten[i]).val); SetTimeout(i); } } } function SetTimeout(wert) { delay[wert] = setTimeout(function() {startVentil(wert);}, verzoegerungen[wert]*5000); }
@paul53: danke für deine Hilfe