Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Verständnisproblem Parameter bei on/subscribe

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Verständnisproblem Parameter bei on/subscribe

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      centrofly last edited by 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

      AlCalzone 1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @centrofly last edited by

        @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 1 Reply Last reply Reply Quote 0
        • C
          centrofly @AlCalzone last edited by

          @AlCalzone Super, vielen Dank für die schnell Erklärung 🙂

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          477
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          186
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo