Самовозвратная функция Javascript не работает в угловой ионной

Код внутри контроллера:

(function(){
    $scope.show();
    profile.friend_requests_to_me_service(loggedInUser.id).then(function(data){
        console.log(data);
        $scope.friend_requests_to_me = data.data.friend_request_to_me;
        $scope.friends = data.data.people_you_may_know;
        $scope.hide();
    });   
})();

Как вы можете видеть, эта функция вызывает профиль службы и метод этой службы. Проблема в том, что эта вызывающая функция не работает. Ошибка выдается:TypeError: (intermediate value)(...) is not a function. В плункере я проверил тривиальную самопризывающуюся функцию. Вот ссылка: http://jsfiddle.net/Lvc0u55v/4582/. Эта тривиальная функция самовозврата работает. Но я не могу понять, почему не работает моя функция самовозбуждения приложения. Спасибо за потраченное время.

Текущая рабочая версия (не вызывающая себя): $scope.friendship_requests_to_me_function = function(){ $scope.show(); profile.friend_requests_to_me_service(loggedInUser.id).then(function(data){ console.log(data); $scope.friend_requests_to_me = data.data.friend_request_to_me; $scope.friends = data.data.people_you_may_know; $scope.hide(); });
} $scope.friendship_requests_to_me_function();

1 ответ

Решение

Скорее всего, в одном из ваших утверждений js отсутствует знак ';' в конце.

Попробуйте добавить ';' перед тем, как вы вызываете себя.

Узнайте больше здесь

В итоге мы передаем вторую функцию в качестве аргумента первой функции, а затем пытаемся вызвать результат первого вызова функции как функцию. Вторая функция завершится с ошибкой "... не является функцией" во время выполнения.

Другие вопросы по тегам