Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Parameterübergabe an Callback-Function

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Parameterübergabe an Callback-Function

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thisoft
      Thisoft last edited by

      Hallo an die Javascript-Experten,

      ich hab da mal eine Frage. Hier mein Code:

      SQLAbfrage(idHaushalt,"Tag","Haushalt");
      
      function SQLAbfrage (id,Intervall,Stromart) {
      //log(id+Intervall);
        sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', GetResults);
      }
      
      function GetResults (dpoint) {
        //log(JSON.stringify(dpoint.result));
       //diverse Anweisungen
      }
      

      Wie vielleicht zu erkennen ist möchte ich die beiden Parameter "Intervall" und "Stromart" an die Funktion "GetResults" quasi durchreichen. Ich habe aber keine Ahnung wie die Syntax dazu aussehen muss. So hat's jedenfalls nicht geklappt:

      sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', GetResults(Intervall,Stromart));
      
      

      Wie ihr seht hab ich mich inzwischen damit beholfen die beiden Werte direkt mit in der SQL-Abfrage zu verpacken. Funktioniert - ist aber nicht besonders schick - das geht doch bestimmt auch eleganter - oder?

      Danke und Gruß

      Thilo

      1 Reply Last reply Reply Quote 0
      • blauholsten
        blauholsten Developer last edited by

        @Thisoft:

        Hallo an die Javascript-Experten, `

        in ich zwar nicht, aber

        sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', function(){
        GetResults(Intervall,Stromart);
        });
        
        

        könnte gehen???

        EDIT:

        sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', function(result){
        	 if (result.error) {
                log(result.error, 'error');
            } else {
                GetResults(result, Intervall, Stromart);
            }
        });
        
        1 Reply Last reply Reply Quote 0
        • Thisoft
          Thisoft last edited by

          Danke blauholsten - so funktionierts.

          Ich habe eben diese Anonymen Funktionen (ich glaub, so heißen die??) und auch die asynchrone Verarbeitung bei Javascript noch nicht wirklich verinnerlicht.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          975
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          2
          3
          653
          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