NEWS
[gelöst] exec() function wert übergeben
-
Hallo
stehe gerade vor einem Problem,
ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben.
So hab ich es versucht:
var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr,meineVariable){log("wert:"+meineVariable);}
leider funktioniert das nicht, es wird ein logeintrag mit wert: undefined ausgegeben
gibt es da eine möglichkeit??? :?:
-
ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben. `
So wie du es machst, erzeugst du eine neue Variable im Scope der Funktion, die keinen Wert übergeben bekommt, da exec den 4. Parameter nicht erwartet. Probiere es mal so:
var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
-
Hallo
habs ausprobiert
var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
kommt leider auch wert:undefined
-
ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben. `
Alles, was mit exec an das auszuführende Kommando (wget) übergeben werden soll, muss innerhalb der Kommandozeile übergeben werden. Beispiel:var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL"?' + meineVariable, function(error, stdout, stderr) { log(stdout); // Rückgabe von wget bei erfolgreicher Ausführung });
-
heisst also so geht es nicht
-
??? Du musst nur das 4. Argument deiner Funktion weglassen, damit diese Zugriff auf die vorher definierte Variable bekommt.
Hast du meinen Codeschnipsel mal ausprobiert?
-
??? Du musst nur das 4. Argument deiner Funktion weglassen, damit diese Zugriff auf die vorher definierte Variable bekommt.
Hast du meinen Codeschnipsel mal ausprobiert? ` Wie ich unter #3 geschrieben habe, funktioniert das leider auch nicht.
Oder mach ich da noch was verkehrt
Gesendet von meinem FRD-L09 mit Tapatalk
-
Hallo
habs ausprobiert
var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
kommt leider auch wert:undefined `
Hab ich übersehen, sorry. Ist das der vollständige Code? So wie das da steht, dürfte meineVariable im Callback niemals undefined sein.
-
dein Hinweis war richtig
hab jetzt nochmal rumgespielt und siehe da, es funktioniert
mein Problem war, das ich vor lauter rumspielen, nach dem Log-Befehl nochmal var meineVariable='dd'; geschrieben und das war anscheinend das Problem
var meineVariable="halliHallo"; exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr) { log("wert:"+meineVariable); der Fehler ----> var meine Variable='test'; }
-
Der Log zeigt sicherlich
wert:halliHallo
Das liegt daran, dass meineVariable im Skript global deklariert und durch die exec-Funktion nicht beeinflusst wird.
Es ist wohl nicht das, was Du erreichen wolltest ?
-
Doch, es ist jetzt genau so wie ich es brauchte,