Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Callback mit Parameter

    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

    Callback mit Parameter

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

      Hallo zusammen

      Nach langer Zeit habe ich endlich die Logik mit den Callback-Aufrufen (teilweise) verstanden.
      Aber jetzt stehe ich vor dem Problem, dass ich einen Parameter übergeben möchte. In der Callback-Funktion kommt dieser Parameter aber undefined an. Das Problem dabei ist wohl, dass ich in der aufrufenden Funktion einen synchronen Aufruf implementiert habe.

      Verkürzt sieht mein Code so aus

      function getDefiniton( myID, nextFunc ) {
          
          sendTo( 'sql.0', 'query',  'select * from myDB.Def where ID = ' + myID , function( sqlData ) {  
          
              ... // Prüfung auf Fehler etc.
              jsonDef = sqlData.result;
      
              nextFunc();
          })
      }
      
      function workWithDef( myDef ) {
      
          ... // mach irgendwas mit myDef
      }
      
      
      var jsonDef;
      getDefinition( 1, function() {
          
          workWithDef( jsonDef )
      
      })
      

      Ich könnte natürlich den Aufruf von "workWithDef" innerhalb der Funktion "getDefinition" machen.
      Aber ich dann weitere Funktionen asynchron aufrufen will, wollte ich das Übersicht wegen lieber zentral an einer Stelle gestaffelt haben.

      Hat jemand eine Lösung für mich?

      Danke im voraus und viele Grüsse
      Oliver

      G 1 Reply Last reply Reply Quote 0
      • G
        GreatEMU @GreatEMU last edited by

        Da auch eine Anleitung aus einem anderen Forum nicht zielführend war, habe ich nun einen Workaround gefunden.
        Ich lasse mir von der ersten Funktion einen Parameter zurückgeben und zögere die Beendigung dieser Funktion mit einem setTimeout hinaus.
        Somit komme ich auch ganz ohne Callback aus.

        Wenn jemand eine bessere Lösung hat, bin ich ganz Ohr 😉

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

        Support us

        ioBroker
        Community Adapters
        Donate

        768
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        1
        2
        155
        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