Ich versuche, die $ Ressource für REST API Interaktion mit folgendem Code zu verwenden:
Innen Factory:
api.user = $resource(api.baseUrl + '/admin/login', {}, {
login: {method:'POST'}
});
Controller-One:
vm.user.$login().$promise.then(function(successResult) {
console.log(successResult);
}, function(errorResult) {
console.log(errorResult);
if(errorResult.status === 404) {
}
});
ich den Fehler: „Typeerror: Die Eigenschaft 'then' von undefined kann nicht gelesen werden, da das $ promise für das Ressourcenobjekt nicht definiert ist.
Question 1: I read on multiple questions that one can use the $promise property to write the callbacks. What am I doing wrong here that the $promise property is coming as undefined for login method on user object.
zwei Controller:
vm.user.$login(function(successResult) {
console.log(successResult);
}, function(errorResult) {
console.log(errorResult);
if(errorResult.status === 404) {
}
});
Diese Prozesse ordnungsgemäß den Erfolg/Fehlerbehandlung, jedoch auf dem SUCCESS Objekt gibt es zwei zusätzliche Eigenschaften von $ Versprechen: undefined, $ aufgelöst: true, während ich ging davon aus, dass rescueResponse das tatsächliche einfache Objekt sein sollte, das vom Server zurückgegeben wird, aber es sieht wie eine Instanz von $ resource aus.
Q2: Is there a way to capture the plain object returned by the server while using the $resource, not having $resource properties?
Jede Hilfe, um die Verwirrung zu beheben, wird geschätzt.
nach Angular Docs, die $ Ressource retu rns ein Objekt, während Sie in ControllerOne versuchen, eine "Versprechen" – batmaniac7
$ Ressource erhalten ein Objekt, das ich zugeordnet api.user und dann rufe ich die $ Login-Methode darauf, die nach meinem Verständnis (nicht korrekt sein kann) sollte ein Ressourcenobjekt und eine gültige $ promise-Eigenschaft zurückgeben, solange es nicht definiert ist. Ich hoffe das klärt es ein bisschen auf. – user1242321
@ user1242321, können Sie einen Blick in meine Antwort werfen? – developer033