Javascript-forum
Kein Rückgabewert aus Funktion - Druckversion

+- Javascript-forum (https://javascript-forum.de)
+-- Forum: Entwicklung (https://javascript-forum.de/forumdisplay.php?fid=4)
+--- Forum: Javascript (https://javascript-forum.de/forumdisplay.php?fid=6)
+--- Thema: Kein Rückgabewert aus Funktion (/showthread.php?tid=1739)



Kein Rückgabewert aus Funktion - Prominenter - 30.10.2022

Hi@all

Code:
    // Skill Auswahl
    SkillArray = thisUserSkills.split(";");
    let text = 'Aus welchem Skill sollen Tickets zugewiesen werden?<br>';
    for (let i = 0; i < SkillArray.length; i++) {
        viewId    = SkillArray[i];
        initViews(viewId);
        console.log(viewName); // thats undefined
        text = text + '<br><div class="btn" onclick="changeView(\'' + viewId + '\', \'' + viewName + '\')" style="display:block;">' + viewId + ' - ' + viewName + '</div>';
    }
    document.getElementById('text01').innerHTML = text;

    // Init Views of View-ID an give Name of List
    function initViews(viewId) {
        let requestView = { type: 'GET', url: '/api/v2/views/' + viewId }

        client.request(requestView).then(function(data) {
                viewsData = data;
                viewName = data.view['title'];
                //console.log(viewName); // thats OK
            });
    }

Ich bekomme den Rückgabewert nicht übergeben initViews()

Thx@all


RE: Kein Rückgabewert aus Funktion - ollelinse - 09.11.2022

Hallo Prominenter,
<viewsName> sollte eigentlich eine globale Variable sein, da sie (in diesem Codeausschnitt) nicht lokal definiert ist. Ich hatte mal ein ähnliches Problem und da hat es geholfen sie trotzdem am Scriptanfang global zu deklarieren. Würde ich zumindest mal ausprobieren.


RE: Kein Rückgabewert aus Funktion - admin - 11.11.2022

oder mal return probieren


return viewName;


RE: Kein Rückgabewert aus Funktion - rzscout - 14.11.2022

Hi Prominenter,
einen Tipp könnte ich dir noch mitgeben. Verwende Template literals. Mit Template liberals kannst du besser und schneller Strings schreiben und es sieht sauberer aus.

Hier ein kleines Beispiel dazu von mir:
Code:
// Original
text = text + '<br><div class="btn" onclick="changeView(\'' + viewId + '\', \'' + viewName + '\')" style="display:block;">' + viewId + ' - ' + viewName + '</div>';
// Verbesserte Variante
text += `<br><div class="btn" onclick="changeView('${viewId}','${viewName}')" style="display: block;" ${viewId} - ${viewName}</div>`;

Gerne kannst du in zukunft die verbesserte Variante anwenden. Das macht das Coden leichter.

Viel Erfolg

rzscout