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 -
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 }); -
@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 :-)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden