控制器内的代码是:
(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
。在plunker中,我检查了一个简单的自我调用函数。这是链接: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();
答案 0 :(得分:1)
很可能你的一个js声明缺少';'在末尾。
尝试添加';'在你的自我调用功能之前。
了解更多here
我们最终将第二个函数作为参数传递给第一个函数,然后尝试将第一个函数调用的结果作为函数调用。第二个函数将在运行时因“...不是函数”错误而失败。