Самовозвратная функция 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 отсутствует знак ';' в конце.
Попробуйте добавить ';' перед тем, как вы вызываете себя.
Узнайте больше здесь
В итоге мы передаем вторую функцию в качестве аргумента первой функции, а затем пытаемся вызвать результат первого вызова функции как функцию. Вторая функция завершится с ошибкой "... не является функцией" во время выполнения.