Gewusst wie: zurückgeben von Daten aus Versprechen

Ich brauche, um die Antwort.Daten aus dem Versprechen, damit es zurückgegeben werden kann, das von der umgebenden Funktion. Ich weiß, ich kann es wahrscheinlich nicht mehr den Weg, den ich codiert haben, weil der normale javascript-Bereich. Gibt es eine Möglichkeit, es kann getan werden?

Die Konsole.log #1 erzeugt die korrekten Daten. console.log #2 erzeugt immer 'a';

function addSiteParentId(nodeId) {   
    var theParentId = 'a';
    var parentId = relationsManagerResource.GetParentId(nodeId)
                        .then(function(response){                               
                            theParentId = response.data;
                            console.log(theParentId);  //#1
                        });
    console.log(theParentId);  //#2
    return theParentId;
}

Alle Hinweise wären sehr willkommen.

Haben Sie sich die Mühe der Suche für vorhandene Fragen zu diesem Thema?
Nein - man kann nicht alle Operationen, die Sie tun möchten, mit response muss gehen in die .then() handler. Sie können nicht schreiben, asynchrones Javascript in einer synchronen Stil!
Hier geht es nicht um die Rückgabe von Daten von einem Versprechen. Die zweite console.log geschieht, bevor das Versprechen setzt theParentId variable - denn das Versprechen ist async, während die console.log ist nicht.
ja hatte ich aber es gab nur Beschwerden über die Frage nicht spezifisch genug, was wahr war.

InformationsquelleAutor Craig | 2016-05-30

Schreibe einen Kommentar