注入$resource引发异常-无法读取未定义的属性'then'
这个问题是在使用AngularJS中的$resource服务时出现的。$resource是AngularJS提供的一个用于与RESTful API进行交互的服务。在使用$resource时,有时候会遇到无法读取未定义的属性'then'的异常。
这个异常通常是由于以下几个原因引起的:
angular.module('myApp', ['ngResource']);
angular.module('myApp').controller('myController', ['$resource', function($resource) {
// 在这里使用$resource服务
}]);
var resource = $resource('/api/users/:id');
resource.get({ id: 1 }).$promise.then(function(response) {
// 处理返回的数据
});
var resource = $resource('/api/users/:id', {}, {
get: {
method: 'GET',
transformResponse: function(data) {
// 在这里处理返回的数据格式
return data;
}
}
});
resource.get({ id: 1 }).$promise.then(function(response) {
// 处理返回的数据
});
总结一下,当使用$resource服务时,如果遇到无法读取未定义的属性'then'的异常,可以检查是否正确引入了ngResource模块,是否正确注入了$resource服务,是否正确调用了$resource方法,并且注意服务端返回的数据格式是否正确。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云