ログインコントローラーに挿入する認証サービスをセットアップし、それを呼び出してログインを行います...たとえば
$scope.login = 関数() {
var loginResult = authentication.login($scope.model.user, $scope.model.pass);
結果に応じて何らかのロジックを実行する必要があるため、ログインが成功したかどうかを知る必要があります。認証サービスのログインからブール値を返すことができましたが、問題は、ログイン内で約束のある残りのサービスを呼び出すことです。そのようです
return {
authenticate: function (username, password) {
var enc = base64.encode(username + ':' + password);
AuthRestangular.setDefaultHeaders({'Authorization': 'Basic ' + enc });
AuthRestangular.one('login').get().then(function (data) {
isLoggedIn = true;
return true;
}, function () {
return false;
});
そのため、Rest サービスが戻るのに数秒かかり、promise を返します。つまり、true または false のいずれかです。そのため、サービスは、約束をする前に実際にログイン コントローラーに戻ります。
だから私はここで何をすべきか混乱しています.私のサービスにもプロミスを返させることはできますか?? それ以外の場合、 loginResult は時間内に返されないため常に false であるため、私の bool のデフォルトは false です。
何か案は
ありがとう