2016-05-06 19 views
0

Ich bin neu in JavaScript, also entschuldige ich mich, wenn das einfach ist. Ich übergebe einige Werte an meinen Controller, aber danach muss ich die globalen Variablen zurücksetzen, ohne die Seite zu aktualisieren. Mein Code sieht so aus:Aktualisiere Variable nach Funktionsrückgabe

var userName = null; 
var _delegated = false; 

function setAddtionalData(value) { 
    if(value == true) { 
    userName = "something"; 
    _delegated = value; 
    } 
} 

function getAdditionalData() { 
    return { 
    username: userName, 
    delegated: _delegated 
    }; 
    userName = null;  // Does not get hit 
    _delegated = false;  // Does not get hit 
} 

Aber Variablen werden nie aktualisiert. Gibt es eine Möglichkeit, diese ohne eine Seite zu aktualisieren?

+0

Woher rufen Sie die Funktion setAditionalData auf? – kapantzak

Antwort

0

Diese Werte werden nie erreicht, da Ihre Return-Anweisung die Funktion verlässt.

Sie sollten username und _delegated in temporäre Variablen speichern, sie auf null setzen und dann das Objekt zurückgeben.

return Anweisungen werden verwendet, um eine Funktion zu verlassen, so dass alles, was Sie nach Ihrer return Anweisung eingeben, nicht passieren wird.

1

Code nach der Rückkehr wird nicht ausgeführt. Sie müssen die Werte abrufen, die Variablen löschen und die erfassten Werte zurückgeben:

Verwandte Themen