我有一個功能的角度控制,像這樣:角服務返回undefined不是一個函數
app.controller("UsersController", ["$scope", "UserList", function($scope, UserList) {
$scope.createUserSubmit = function(newUser) {
UserList.createUser().success(function(data){
console.log(data);
});
}
}]);
當createUserSubmit()
函數被調用,它在服務UserList
調用另一個函數的函數createUser()
。
服務看起來是這樣的:
app.service("UserList", function() {
this.createUser = function(){
console.log("doing it");
return "hi";
}
});
現在,當這一切都運行時,我得到記錄的「做」的消息,但後來我得到以下錯誤和console.log(data)
不記錄。
TypeError: undefined is not a function
通常這種類型的錯誤是自我解釋,所以要麼我是一個白癡或有一些混淆的事情發生。據我所知,這是一個功能。
'.success'不會自動從任何返回值變爲可用,你需要返回角httpPromise爲 – PSL
@PSL感謝。上面的這個代碼是縮寫的,但實際上在'createUser()'函數中有一個到數據庫的http調用。然後我返回來自該呼叫的數據。如果我不能執行'.success',我怎樣才能對返回的數據進行回調? – Coop