Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Verständnisproblem Parameter bei on/subscribe

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    828

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Verständnisproblem Parameter bei on/subscribe

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 250 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    centrofly
    schrieb am zuletzt editiert von centrofly
    #1

    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

    AlCalzoneA 1 Antwort Letzte Antwort
    0
    • C centrofly

      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

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      @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
      });
      

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      C 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @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
        });
        
        C Offline
        C Offline
        centrofly
        schrieb am zuletzt editiert von
        #3

        @AlCalzone Super, vielen Dank für die schnell Erklärung :-)

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        722

        Online

        32.6k

        Benutzer

        82.1k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe