NEWS
Verständnisproblem Parameter bei on/subscribe
-
Hallo zusammen,
ich habe ein Verständnisproblem zu on/subscribe, hängt wahrscheinlich damit zusammen, dass ich mich gerade erst in JS einarbeite und noch nicht alle Konzepte durchdrungen habe... Ich habe mir die Doku durchgelesen, aber daraus wird es nicht so recht klar.
Wenn ich auf die Änderung eines States einen Handler registrieren möchte, dann kann ich dies tun über
subscribe(myState, function(obj){ // do something });
"obj" ist nach meinem Verständnis dabei das Objekt des States, welches sich geändert hat.
Man sieht in anderen Scripten aber auch, dass statt "obj" sowas wie "data" übergeben wird. Kann ich den Parameter also einfach irgendwie benennen?
Und könnten ich auch weitere Parameter übergeben?
subscribe(myState, function(obj, myParameter){ // do something });
Aber dann wäre mir nicht klar, wie die javascript engine dann die Bedeutung der Parameter unterscheiden kann. Oder ist immer der erste Paramater das State Objekt, egal wie der Paramater heisst?
Viele Grüße
Jan -
@centrofly sagte in Verständnisproblem Parameter bei on/subscribe:
Kann ich den Parameter also einfach irgendwie benennen
Oder ist immer der erste Paramater das State Objekt, egal wie der Paramater heisst?Ja
@centrofly sagte in Verständnisproblem Parameter bei on/subscribe:
Und könnten ich auch weitere Parameter übergeben?
Du kannst grundsätzlich beliebig viele Parameter dazuschreiben, es bringt dir nur nichts. Da die Callback-Funktion vom Skript-Adapter aufgerufen wird, übergibt sie nur den ersten Parameter (hier obj genannt).
Wenn du auf Variablen von außerhalb der Callback-Funktion zugreifen willst, kannst du sie einfach nutzen:
const myParameter = 5; //... subscribe(myState, function(obj) { // do something log(myParameter); // gibt 5 im Log aus });
-
@AlCalzone Super, vielen Dank für die schnell Erklärung