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());
-
@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 mit
text
aufrufst.Oder: du verwendest async/await, dann wird dein Code viel einfacher.
-
@UncleSam
Manchmal sieht man den Wald vor lauter Bäumen nicht