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. Return liefert undefined

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Return liefert undefined

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
3 Beiträge 2 Kommentatoren 180 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.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von
    #1

    Hi,

    irgendwie stehe ich gerade mal wieder auf dem Schlauch. Folgende Funktion liefert mir über das Return "undefined". Setze ich aber vor das Return den Log-Befehl gehts.

    Verstehe aber gerade nicht warum. Kann mir da mal jemand auf die Sprünge helfen?

    function loadProjects(){
        getState('viewswitch.0.existingProjects', (err, state) => {
            var projects = state.val.split(',');
            var text = '<option value="undefined" class="translate">Platzhalter</option>';
            if(projects.length){
                    for (var d = 0; d < (projects.length -1); d++) {
                    text +='<option value="'+ projects[d] +'" class="translate">'+ projects[d] +'</option>';
                    }
            //log(text)
            return text;
            }
        });
    }
    
    log(loadProjects());
    

    Ich beantworte keine Fragen zu Themen via PN

    UncleSamU 1 Antwort Letzte Antwort
    0
    • PeoplesP Peoples

      Hi,

      irgendwie stehe ich gerade mal wieder auf dem Schlauch. Folgende Funktion liefert mir über das Return "undefined". Setze ich aber vor das Return den Log-Befehl gehts.

      Verstehe aber gerade nicht warum. Kann mir da mal jemand auf die Sprünge helfen?

      function loadProjects(){
          getState('viewswitch.0.existingProjects', (err, state) => {
              var projects = state.val.split(',');
              var text = '<option value="undefined" class="translate">Platzhalter</option>';
              if(projects.length){
                      for (var d = 0; d < (projects.length -1); d++) {
                      text +='<option value="'+ projects[d] +'" class="translate">'+ projects[d] +'</option>';
                      }
              //log(text)
              return text;
              }
          });
      }
      
      log(loadProjects());
      
      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #2

      @Peoples Du rufst die asynchrone Version von getState auf. Was du in der Callback-Methode machst, wird "später" aufgerufen, da nützt dir ein return gar nichts.

      Wenn du mit dem Resultat der asynchronen Methode etwas machen willst, bleibt dir nichts anderes übrig als ebenfalls ein Callback an deine Methode zu übergeben, das du am Schluss mittext aufrufst.

      Oder: du verwendest async/await, dann wird dein Code viel einfacher.

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      PeoplesP 1 Antwort Letzte Antwort
      0
      • UncleSamU UncleSam

        @Peoples Du rufst die asynchrone Version von getState auf. Was du in der Callback-Methode machst, wird "später" aufgerufen, da nützt dir ein return gar nichts.

        Wenn du mit dem Resultat der asynchronen Methode etwas machen willst, bleibt dir nichts anderes übrig als ebenfalls ein Callback an deine Methode zu übergeben, das du am Schluss mittext aufrufst.

        Oder: du verwendest async/await, dann wird dein Code viel einfacher.

        PeoplesP Offline
        PeoplesP Offline
        Peoples
        schrieb am zuletzt editiert von
        #3

        @UncleSam
        Manchmal sieht man den Wald vor lauter Bäumen nicht :joy:

        Ich beantworte keine Fragen zu Themen via PN

        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

        659

        Online

        32.6k

        Benutzer

        82.0k

        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