Выполнение переменной функции на сервисе AngularJS


Я создаю сервис входа на свой сайт, и мне нужна помощь в этом: я хочу проверить, был ли выполнен вход и если да, то выполните функцию в переменной 'yes'. В противном случае сделайте переменную "нет". Вот так:

app.service('login', function($cookies) {
// Cookie status = login status
var cookie_status = $cookies.get('login_status');

// Cookie token = login token
var cookie_token = $cookies.get('login_token');

this.status = function(){
    return cookie_status
};
this.iflogin = function(yes, no){
    if(cookie_status=='yes'){
        return yes;
    } else {
        no;
    }
}; });

Но, следовательно, когда я вызываю эту функцию, функция в переменной " yes " или " no " не выполняется. Это мой зов:

login.iflogin(function yes(){
    $scope.login = "Conta";
}, function no(){
    $scope.login = "Login";
});

Где же проблема!?

Спасибо тебе и искренне, Лукас.

1 2

1 ответ:

Вам не нужно возвращаться в функцию iflogin, вам просто нужно вызвать любую из функций следующим образом:

this.iflogin = function(yes, no){
    if(cookie_status=='yes'){
        yes();
    } else {
        no();
    }
};