Ich habe eine Methode in meinem eckigen 1.5-Controller, wie unten gezeigt, aber ich wollte den Ajax Anruf in die Fabrik selbst umgestalten, aber ich habe Probleme mit Versprechungen .. Ich bin Ich versuche, zu einem Punkt zu kommen, an dem ich in meinem Controller die Methode aufrufen kann, wie ich sie unten gezeigt habe. Ist das möglich? Ich versuche, den ... Erfolg (function (...) in dem Controller-Code zu vermeiden, dass.Wie man einen Wert von einem AJAX-Versprechen zurückgibt
Jede Hilfe sehr geschätzt.
Den Versuch,
vm.member = someFactory.getMember(vm.id);
zu bewegen Bestehende Arbeits Controller-Code
vm.myMethod = myMethod;
...
function myMethod() {
someFactory.getMember(vm.id).success(function(response) {
vm.member = response;
});
}
Wenn ich mich bewege die getMethod Linie in die Fabrik Die Antwort wird offensichtlich bevölkert, aber sobald ich zum Controller zurückkomme, ist das Ergebnis, auch wenn der Rückgabewert vom Werk die Antwort ist, undefiniert. Ich weiß, dass dies wegen der Versprechungen ist, aber gibt es ein Design-Muster, das ich vermisse oder einen sauberen Weg, dies zu tun. Unter Verwendung meines gegenwärtigen Ansatzes ist mein Controller übersät mit .success (function() ...)
Vielen Dank!