我有一个在 Get上返回的web api 。IHttpActionResult(myCollection)
我的 Angular JS控制器有一个功能:
$scope.loadcollection = function($defer, params) {
console.log("inside loadcollection ");
mySvc.getCollection().then(function(myCollection) {
//$defer.resolve(myCollection);
$scope.recievedCollection= myCollection
console.log("invoices are : ", $scope.recievedCollection);
});
我在 Angular JS中的服务如下:
app.factory('mySvc', ['$resource', '$q', 'serviceHelperSvc',
function($resource, $q, serviceHelper) {
var myObject= serviceHelper.collectionObj;
var getCollection= function() {
/* var d = $q.defer();
var resp = Invoice.query();
console.log("resp is : ", resp);
d.resolve(true);
return d.promise;*/
return myObject.query();
};
}]);
我的 serviceHelperSvc 如下:
app.factory('serviceHelperSvc', ['$http', '$resource',
function($http, $resource) {
var config = {
"apiurl": "http://localhost:8000/"
}
var baseUrl = config.apiurl;
var buildUrl = function(resourceUrl) {
return baseUrl + resourceUrl;
};
var addRequestHeader = function(key, value) {
};
return {
AuthorizationToken: $resource(buildUrl("Token"), null, {
requestToken: {
method: 'POST',
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
}
}),
collectionObj: $resource(buildUrl('api/CollectionObj/:CollectionObjId'), {
CollectionObjId: '@Id'
}, {
'update': {
method: 'PUT'
}
})
};
}
]);
当我尝试运行它时,我得到 undefined is not a function atmySvc.getCollection().then(function(myCollection)
之前then(function(myCollection)
。
当我尝试使用延迟承诺方法时,我在同一个地方得到一个异常说$promise is not defined