ich habe meine authservice wie unten angegeben,Versprechen zurückgegebene Objekt in Winkel js
myApp.factory('Authentication',
['$rootScope', '$location', 'URL', '$http', '$q',
function ($rootScope, $location, URL, $http, $q) {
var myObject = {
authwithpwd: function (user) {
var dfd = $q.defer();
$http
.post('Mart2/users/login', {email: user.email, password: user.password})
.then(function (res) {
return dfd.resolve(res.data);
}, function (err) {
return dfd.reject(err.data);
});
return dfd.promise;
} //login
};
return myObject;
}]); //factory
und ich bin diesen Dienst in Benutzer-Dienst wie folgt:
myApp.factory('UserService',
['$rootScope', '$location', 'URL', '$http', '$q', 'Authentication',
function ($rootScope, $location, URL, $http, $q, $Authentication) {
var myObject = {
login: function (user) {
$Authentication.authwithpwd(user).then(function (regUser) {
console.log(regUser);
}).catch(function (error) {
$rootScope.message = error.message;
});
},
getUserToken: function() {
return $rootScope.currentUser.apiKey;
},
isLogged: function() {
if ($rootScope.currentUser) {
return true;
} else {
return false;
}
}
//login
};
return myObject;
}]); //factory
Ich bin sehr neu für Winkel js. Während ich Dienst schreibe und diesen Dienst vom Controller aus anrufe, habe ich eine Konsole in den Benutzerdienst debuggen lassen, der sein zurückkehrendes Objekt anzeigt. Ich bekomme ein Objekt, wenn ich console.log (regUser) mache. irgendeine Idee warum?
Können Sie Ihre Frage ein wenig klären? Was genau ist dein Problem? Erhalten Sie das zurückgegebene Objekt nicht in myObject? Eine Geige oder Plunkr wäre auch hilfreich –
Ich bekomme keine Versprechen von AuthenticationService in Login-Methode des Benutzerservice. Ich bekomme [Objekt, Objekt] in Zeile, wo ich console.log (regUser) gemacht habe. Ich werde versuchen, eine Geige dafür auch zu schaffen –
vermeiden Sie die Verwendung von $ rootscope -> http://stackoverflow.com/questions/36645399/save-current-user-information-and-use-it-in-controllers/ 36645460? Noredirect = 1 # comment60884162_36645460 – thegio