NEWS
Return liefert undefined
-
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()); -
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());@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
returngar 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 mit
textaufrufst.Oder: du verwendest async/await, dann wird dein Code viel einfacher.
-
@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
returngar 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 mit
textaufrufst.Oder: du verwendest async/await, dann wird dein Code viel einfacher.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
